无标题文章

默认创建的xib,storyboard文件会打包到mainbundle中,mainbundle类似于一个压缩包,平时用mainbundel做事情是因为,编译项目后,会打包到mainbundle中

一般来说 控制器做数据源

初始化子控制器放到初始化scrollview前面,先有子控制器,再往scrollview上加子控制器的view

分模块管理,要修改某个模块只要对应的子控制器就可以了

从数组中取,如果要取出多个,借助for循环

其中的数字不能直接写死,应该用数组中元素个数count代替

一个控制器的view默认就是整个屏幕的宽高,x,y默认是0,0基于这一点,可以不用设置它的宽度,高度,y,只设置x

没有设置它的y值应该是0,应该是顶头,为什么跑到下面了,因为这些tableview是加到scrollview上面,scrollview一旦处在导航栏环境下,会自动将它里面的内容下移动64,其实是因为设置了64的内边距

假设要让tableview占据整个屏幕,就是说它的宽度和高度是整个屏幕这么大,不管会不会被导航栏和tabbar挡住

首先去掉那个效果,控制器的属性,不允许自动设置修改scrollview的内边距

self.automaticallyAdjustsScrollViewInsets = NO;

这样设置以后,明明把64的内边距消掉,可是为什么还有20的内边距,没有占据整个屏幕,打印tableview的y值后发现,有个20的y值,高度也比屏幕的高度少了个20

但是为什么是20呢?自己没有设置20的y值啊?

如果是普通的控制器,x,y就是0,0,宽度和高度确实填充整个屏幕

如果是tableview控制器,y值就会弄成20,高度少20

自己创建出来加到别人身上就是20,加到别人上面的话cell会被挡住,苹果给它设计的时候就是这样子的,加了个20就不会被挡住

xcode7以前所有的控制器view的y值都是20,从7开始才有全屏的概念

所以还应该设置它的y值是0,它的高度也要设置为scorllview的高度

为什么要占据整个屏幕呢?

因为要做个效果出来

拿到子控制器,把子控制器的view加到scrollview身上,并且它们的x是从左往右排布

随即色是需要的,用于写代码测试的时候

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID forIndexPath:indexPath];

must register a nib or a class for the identifier

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];

有多少个控制器就有多少倍,必须设置contentsize,scorllview的滚动范围,否则没法滚动

for循环五次不要每次都点属性,因为点是调方法,一次就够了

你可能感兴趣的:(无标题文章)