Xcode显示标签,按钮,导航栏和图像像素化

时间:2017-05-26 12:53:40

标签: ios iphone swift xcode

正如您在此屏幕截图中所见:

enter image description here

导航栏,按钮和扬声器图像都是pixeled。 我认为它与视图层次结构有一个连接 - 这个视图位于主视图的顶部(主视图标签和按钮看起来不错而且没有像素),用Swift编写:

var navUser = UIViewController()

class ViewControllerMenu: UIViewController {
 navUser = storyboard!.instantiateViewController(withIdentifier: "navUser")
        addChildViewController(navUser)
        navUser.view.frame = view.frame
        view.addSubview(navUser.view)
        navUser.didMove(toParentViewController: self)
        navUser.view.alpha = 0

        navUser.view.layer.shadowColor = UIColor.black.cgColor
        navUser.view.layer.shadowOpacity = 1
        navUser.view.layer.shadowOffset = CGSize.zero
        navUser.view.layer.shadowRadius = 10

        navUser.view.layer.shadowPath = UIBezierPath(rect: navUser.view.bounds).cgPath
        navUser.view.layer.shouldRasterize = true
}

我添加了此视图的视图层次结构:

enter image description here

这种情况发生在所有Xcode iPhone模拟器和我的个人iPhone 7中。

1 个答案:

答案 0 :(得分:2)

这似乎是.shouldRasterize的奇怪用法...通常在多次重新显示复杂视图/图层时使用(例如游戏动画)。

删除该行 - navUser.view.layer.shouldRasterize = true - 应解决问题。