前段时间在项目中遇到了一个问题,利用xib来加载控制器的view,但是加载出来的view是不准确的,经过在网上查找资料,发现了原因所在:
原因:原文是通过scrollView.frame = self.view.bounds;这种方式来加载view的。首先,自己是在- (void)viewDidLoad这个方法中加载的view,这时候控制器的view已经加载完毕,但是我们默认子控件的:scrollView.autoresizingMask为none,这就意味着子控件不会随着父控件拉伸,也就是说xib中的view依然会我行我素,保持原有的尺寸,导致了在viewDidLoad这个方法中加载的尺寸是不准确的。
解决方法一:
设置scrollView.autoresizingMask=UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight,让一开始加载view的时候,xib的view随着contentView自动拉伸
解决方法二:
scrollView.frame = [UIScreen mainScreen].bounds;直接设置scrollView的frame为屏幕的frame
解决方法三:
在专门布局子控件尺寸的方法中设置:self.scrollView.frame = self.view.bounds;
通过xib加载的view不准确
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- http://www.cocoachina.com/cms/wap.php?action=article&id=1...
- @(iOS 项目实战)[项目实战] 作者: Liwx 邮箱: 1032282633@qq.com 目录 06.项目...
- 1、下载phpRedisAdmin,并放到/data/www目录下面 [root@redis ~]cd/data/...