百思不得姐 one day
UITabBarController:UINavigationComtroller 作为子控件
1、在+(void)initialize 中设置UITabBarController中的UITabBarItem中的颜色和字体
用到的知识点是 :UIAppearence来统一设置
UITabBarItenm * item =[UITabBarItem appearence];
2.把UITabBarController和UINavigationController 结合在一起的方式;
3、定义类别,File -> objective-c File ->Category
4、自己创建.pch文件
第一步:创建.pch文件
第二步:把.pch文件添加到工程中,Target->Build Setting->Apple LLVM 6.1 - Language->Prefix Header 工程名/.pch文件名称
5、UIKIT_EXTERN 用来声明全局变量
6、用代码自定义cell
cell = [[Cell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
用xib自定义cell 这个是不重用的 效率低
cell = [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([Cell class])
owner:self
options:nil] objectAtIndex:0];
而最好用这样的方式:
[self.tableView registerNib:[UINib nibWithNibName:NSStringFromClass([
Cell
class]) bundle:nil] forCellReuseIdentifier:CellId];来注册一下就ok了。
7、Autolayout 是xib文件中 右下角的三个图标
wAny和hAny 是sizeClass的
三个图标 左边第一个 是设置对齐方式的
左边第二个按钮 是这只距离上下左右的距离 宽高 和另一个控件的宽高 按照比例设置宽高 对齐方式
如果用AutoLayout来约束控件,那frame就失效了,官方也不建议我们再设置frame了。
注意:如果用Autolayout来约束一个控件和我们以前使用frame约束控件一样,必须设置宽度高度xy,如果缺少一个就会报错,报错有可能会引发一些未知的bug。
用autolayout就不要用frame,用frame就不要用autolayout。
如果有红色警告 代表缺少约束条件或者约束有冲突 如果有黄色警告 代表控件当前的位置大小和约束的位置大小不一样。
两个比较重要的概念:
参照物
约束
使用autolayout的时候 最好给每个控件起一个名称,方便阅读
会看到左右两边大于添加的约束的大小,这是ios8的特性,是苹果内部的设计,ios8默认情况下两边会留出一段距离
清空约束的方法:
1、选中delete
2、clear all
用autolayout 最好一个控件一个控件的进行设置
first item
relation 等于
second item
constant 加上
multiplier 乘以