我有一个 UIView 子类,它在需要时加载到 UIViewController 中。此视图在 iPhone 3/4/5 中运行良好,或者看起来运行良好。它在 iPad 1/2 中看起来也不错。但是对于 iPad 的视网膜屏幕,视图是像素化的。所有的标签、按钮、视图背景、文本都是像素化的。
之前我没有重写 drawRect 方法。但是有了其他一些提示,我做到了。但仍然没有解决问题。
任何想法,视网膜显示的问题在哪里?
我有一个 UIView 子类,它在需要时加载到 UIViewController 中。此视图在 iPhone 3/4/5 中运行良好,或者看起来运行良好。它在 iPad 1/2 中看起来也不错。但是对于 iPad 的视网膜屏幕,视图是像素化的。所有的标签、按钮、视图背景、文本都是像素化的。
之前我没有重写 drawRect 方法。但是有了其他一些提示,我做到了。但仍然没有解决问题。
任何想法,视网膜显示的问题在哪里?
好的,我找出问题所在。
该视图使用一种嵌套视图,其中一个视图层被操作并调用
layer.shouldRasterize = YES;
但是,如果我添加这一行,就可以解决问题。
layer.rasterizationScale = [UIScreen mainScreen].scale;
在苹果 WWDC 2012 中,他们有一个关于此的视频。“抛光你的界面旋转”。他们在这里讨论了这个问题。 https://developer.apple.com/videos/wwdc/2012/