【发布时间】:2017-10-21 20:58:30
【问题描述】:
我使用的是 xcode 9.0.0。我将多个自定义类应用于不同的视图。每当我在真正的大尺寸设备上运行项目时,它会显示完美的视图,而当我在模拟器上构建它们时,布局会从右侧挤压。任何 UIView 类型都会发生这种情况。下面提供了一个示例。
在这里,我正在应用渐变,但右侧的一部分被遗漏了。这发生在每个视图中。我上面例子的代码是:
func addBlackGradientLayer(frame: CGRect){
let gradient = CAGradientLayer()
gradient.frame = frame
gradient.colors = [UIColor.clear.cgColor, UIColor.black.cgColor]
gradient.locations = [0.0, 1.0]
self.layer.addSublayer(gradient)
}
我现在完全没有任何线索。任何帮助都感激不尽。
【问题讨论】:
-
您是否收到有关约束冲突或不足的警告?你设置了什么约束?你在哪里调用你显示的代码?
-
你在哪里调用这个函数?您很可能在
view的frame完全布局之前调用它。 -
@Paulw11 我尝试自动调整大小/添加缺少的约束/设置我自己的约束。此外,我没有收到任何关于约束的警告。即使是现在,图像仍处于自动布局状态,没有警告/问题。
-
@Paolo 我称之为
awakeFromNib和viewWillAppear。分别用于单元格和单个布局。 -
会不会是 xcode 本身的问题?
标签: ios swift xcode ios-simulator