记录平时开发遇到的一些问题和解决方案
OS常见问题(推送通知)地址: http://docs.jpush.cn/pages/viewpage.action?pageId=7864782
1、UIImagePickerController 按钮中文显示设置 和 UITableView中按钮中文:
设置 plist文件中:Localized resources can be mixed :YES,调用相机即为中文
2、电池状态栏
//方法一(代码设置):
现在ios7已经更改为透明,并且不占用屏幕高度。其中隐藏及显示的方法如下:
在uiviewcontroller的子类下,调用:
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
// iOS 7
[self prefersStatusBarHidden];
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
- (BOOL)prefersStatusBarHidden
{
return YES;//隐藏为YES,显示为NO
}
在视图切换,比如addsubview,present,pushin等,也需要注意及修改该状态栏。
//方法二(在plist里设置):
首先设置key:Status bar is initially hidden 为YES
然后设置key:View controller-based status bar appearance 为NO
即可实现全局隐藏状态栏了
3、Xcode5 取消 ARC
1. 把整个工程改成非ARC 工程->taggets->build settings->Objective-C Automatic Reference Counting “YES”改为“NO”
或
2.如果只是想在ARC里面引用非ARC文件 只需: 工程->taggets->build Phases 可以看到Compile Sources里都是你工程中的类.m文件,你想让哪个关闭arc就双击他打上-fno-objc-arc 就行了
以上两种方法针对不同情况可以分别使用。
4、JSONKit中的
Direct access to objective-c's isa is deprecated in favor of object_setClass() and object_getClass()
object->isa 替换为 object_getClass(object)
keyObject->isa 替换为 object_getClass(keyObject)
(id)keys[idx]->isa 替换为 object_getClass((id)keys[idx])
format specifies type 'unsigned long' but the argument has type 'nsuinteger' (aka 'unsigned int')
给变量增加(unsigned long)进行类型转换