【发布时间】:2018-09-06 20:59:18
【问题描述】:
我遇到了一个问题,希望您能帮助我!事实证明,我第一次遇到一个问题,即我的实际 iPhoneX 设备的 UI 看起来与我的 XCode 模拟器的不同。下图是这样的:
Left is the actual device, and Right is the simulator
一个金色边框的盒子是这个问题的唯一受害者。我已经尝试重新启动计算机和手机,并且我还将手机和 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
【问题讨论】:
-
您好,您可以添加更多关于如何创建边框或一些代码 sn-ps 的详细信息吗?
-
@GeorgeBafaloukas 添加了sn-p,也无意间找到了解决办法。如果你能帮助我理解它,那就太棒了
-
该代码放在哪里? ViewDidLoad?我建议使用自动布局而不是计算这样的大小。此外,superView 的宽度有时会与此时的实际屏幕尺寸不同。发生这种情况是因为视图尚未在 viewDidLoad 上计算实际屏幕尺寸。这发生在视图生命周期的后期。