我知道我们正在操作点不是像素,在大多数情况下它是方便的,但我需要使UIView为1像素而不是2像素高度.因此,如果您拖放“Interaface”构建器中的一些UIView(分隔线),并将其设置为1px(点)的高度,则在视网膜屏幕上(在设备和模拟器上)仍将看起来像2像素大小的线.
我知道在viewView中显示的是contentScaleFactor属性,它显示为retina(2.0f)或不是(1.0f).它的视图看起来像1.0f的值,所以你需要从主屏幕中检索:
[UIScreen mainScreen].scale;
这回我2.0f.现在,我添加了这个分隔符视图的高度约束,添加了检查isRetina的方法,并将其划分为1像素:
- (void)awakeFromNib{ [super awakeFromNib]; CGFloat isRetina = ([UIScreen mainScreen].scale == 2.0f) ? YES : NO; if (isRetina) { self.separatorViewHeightConstraint.constant /= 2; } }
这个工作,我只是不确定是使用0.5值的好主意…
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。