记录一点项目中遇到的问题, 场景是这样的:当我是用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
来获取
网友评论