首页 > 解决方案 > XCode 模拟器和实际设备显示不同的 UI

问题描述

我遇到了一个问题,我希望你能帮助我!事实证明,我第一次遇到一个问题,即我的实际 iPhoneX 设备的 UI 看起来与我的 XCode 模拟器的不同。下面是一张图片:

左边是实际设备,右边是模拟器

一个金色边框的盒子是这个问题的唯一受害者。我已经尝试重新启动计算机和手机,并且我还将手机和 XCode 更新到了最新可用的版本。与 iPhone 6 类似的问题。我已经为问题 UIImageView 放置了称为searchBack的代码。它的大小取决于设备的显示大小,它的位置对于 iPhone 和 iPad 是不同的:

searchBack = UIImageView(frame:CGRect(x:0, y:0, width: displayWidth*0.9, height: displayHeight*0.1))
if UIDevice.current.model.range(of: "iPad") != nil {
    self.searchBack.center = CGPoint(x: self.displayWidth*0.5, y: self.displayHeight*0.255)
} else {
    self.searchBack.center = CGPoint(x: self.displayWidth*0.5, y: self.displayHeight*0.207)
}
searchBack.image = UIImage(named: "searchBar Borders.png")
searchBack.contentMode = .scaleToFill
self.view.addSubview(searchBack)

非常感谢您的帮助!chrz in adv

标签: swiftxcode

解决方案


好吧,伙计们,当我试图弄清楚发生了什么时,我随机评论了下面的代码块,我运行了它,然后取消了它的注释,再次运行它,问题就解决了。

    if ( UIDevice.current.model.range(of: "iPad") != nil){
        self.searchBack.center = CGPoint(x: self.displayWidth*0.5, y: self.displayHeight*0.255)
    } else {
        self.searchBack.center = CGPoint(x: self.displayWidth*0.5, y: self.displayHeight*0.207)
    }

如果有人可以向我解释为什么会发生这种情况,那将是惊人的,这样我就可以防止下次在这样的事情上浪费时间。


推荐阅读