使用Xib创建的默认Controller文件,使用self.view.frame.size.width获取到的值是600,导致的布局显示问题

记录一点项目中遇到的问题, 场景是这样的:当我是用collection自定义了一个标签View,创建的时候设置的View的宽度是屏幕宽度,但是标签怎么滑动就是滑动不到最后,最后打印标签的宽度才发现是600 ,并不是屏幕宽度。时间紧,先记录一下,demo后录个gif。

一般创建的controller的xib文件默认的size属性是inferred,这个时候你使用代码 self.view.frame.size.width 去拿屏幕的宽度发现是600,并不是我们想想的对应的屏幕宽度320 375 414等宽度。如图:
WechatIMG2_Default.jpeg

注:使用默认的对其他的View没有影响,可以放心使用,只是自定义的标签View滑动不到最后,产生显示的bug

如果我把size的属性修改成Freeform之后 再去 self.view.frame.size.width 获取屏幕的宽度就是正确的了,标签的显示也可以滑动到最后了,如图:
WechatIMG3_freeform.jpeg
说明:
  • 项目中一般也不使用 self.view.frame.size.width 这样的方式去获取宽度,屏幕的宽高是有宏定义或者使用 [UIScreen mainScreen].bounds.size.width 来获取
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • VLC的集成和使用 VLC介绍 VLC Media Player (VideoLAN) 为 Windows、Lin...
    Pocket阅读 19,901评论 75 66
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,546评论 1 14
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,141评论 5 13
  • 但事无绝对,本人就成功逆袭多次,把几个一流公司的销售人员打的落花流水,我是在一家二流差不多三流的安防公司就职,做了...
    善圈_天随子夫阅读 354评论 0 1