1. 升级CocoaPods
喜欢使用CocoaPods来管理第三方框架,因为觉得简单、方便。现在CocoaPods已经有1.0版本了,那当然得升级了!
更新gem
sudo gem update --system
再安装一下cocoapods。因为需要管理员权限,所以前面需要加
sudo
。sudo gem install cocoapods
如果报以下错误:
ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/xcodeproj`
则先可执行以下命令,再安装。
sudo gem install -n /usr/local/bin cocoapods
执行
pod setup
。cocoapods 1.0之后,Podfile按以下格式编写
platform :ios, '8.0' target '你的项目名称' do pod 'AFNetworking', '~> 3.0' end
卸载cocoapods
gem uninstall cocoapods
2. Xcode 8 log打印太多,想关掉初始log打印
使用Xcode 8 运行项目发现初始时会打印很多日志,关闭日志的方法为:Product
→Scheme
→Edit
Scheme
中设置Name
为OS_ACTIVITY_MODE
,Value
为disable
。
3. 修改UITextField光标颜色和提示文本颜色
- 修改光标颜色:设置
UITextField
的tintColor
即可。 修改提示文本颜色:
//第一种方法 设置 attributedPlaceholder textField.attributedPlaceholder = [[NSAttributedString alloc]initWithString:@"搜搜看" attributes:@{NSForegroundColorAttributeName:[UIColor redColor]}]; //第二种方法 [textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];
4. 修改状态栏样式
iOS 7~9的做法
iOS 7~9的时候,是在
info.plist
里面设置View controller-based status bar appearance
为NO
,然后修改UIApplication
的statusBarStyle
属性[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
但是iOS10之后这个属性就过期了。
iOS 10的做法
- 设置
View controller-based status bar appearance
为YES
在控制器中实现方法,前提是没有
UINavigationController
包含ViewController
才有效。- (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleDefault; }
- 如果
UINavigationController
包含ViewController
,则需要自定义导航控制器,在导航控制器中重写这个方法。 如果我们想在单独某个页面中更改状态栏样式,则可以在导航控制器中这样写:
- (UIStatusBarStyle)preferredStatusBarStyle { if ([self.viewControllers.lastObject respondsToSelector:@selector(preferredStatusBarStyle)]) { return self.viewControllers.lastObject.preferredStatusBarStyle; } return UIStatusBarStyleDefault; }
然后再在
viewController
中重写方法- (UIStatusBarStyle)preferredStatusBarStyle
。
- 设置
5. xib与UITableViewController、UITableViewCell问题
- 我们创建
UITableViewController
同时创建对应的xib文件时,xib文件中的view是个TableView
,但是当我们创建的是其子类时,同时创建的xib文件中的view
是个UIView
而不是UITableView
。需要自己手动替换,同时设置代理等。 - 使用xib创建
tableViewCell
时,如果设置的Identifier
和tableView
注册cell
时设置的Identifier
不一致,会导致崩溃。
6. 切图
如果你比较不幸需要自己拿着psd文件来切图,或者你嫌弃你家的美工切的图,那可以使用PS + cutterman
来切图,非常简单。不过cutterman现在只支持PhotoShop CC 以上的版本。