iOS 13 上的约束问题,看起来与 iOS 12 不同
constraint issue on iOS 13, looks different than iOS 12
我对 bottom 我对 iOS 13 的看法有疑问,这是我遇到的单行代码:
myLabel.bottomAnchor.constraint(equalTo: headerView.bottomAnchor, constant: 0).isActive = true
此代码在 iOS 13 和 iOS 12 上的工作方式不同:(下图与 iOS 13 及其调试视图相关)
在调试视图中它看起来与模拟器视图不同,我不知道为什么?!
现在,如果您看到下图:(与 iOS 12 相关)
这是我到目前为止所做的:
当我删除 headerView(GreenImage) 上的高度限制时,它可以正常工作,但是当我在其上设置高度时,返回 :(
我在 layoutSubviews() 中创建 headerBackground 约束
并在闭包 属性 中创建标签底部约束,如下面的代码:
private lazy var headerView : HeaderView = {
let view = HeaderView(layout: .login)
let welcomeLabel = UILabel()
view.addSubview(welcomeLabel)
welcomeLabel.translatesAutoresizingMaskIntoConstraints = false
welcomeLabel.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0).isActive = true
welcomeLabel.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 20).isActive = true
welcomeLabel.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -20).isActive = true
return view
}()
我在 iOS 12 个或更早的视图中找到了一个我认为默认值为 clipToBounds = true
的答案
其中 iOS 13 是错误的
在我更改值后,我的问题就解决了,前面的 imageView 从后面视图剪辑。
我对 bottom 我对 iOS 13 的看法有疑问,这是我遇到的单行代码:
myLabel.bottomAnchor.constraint(equalTo: headerView.bottomAnchor, constant: 0).isActive = true
此代码在 iOS 13 和 iOS 12 上的工作方式不同:(下图与 iOS 13 及其调试视图相关)
在调试视图中它看起来与模拟器视图不同,我不知道为什么?!
现在,如果您看到下图:(与 iOS 12 相关)
这是我到目前为止所做的:
当我删除 headerView(GreenImage) 上的高度限制时,它可以正常工作,但是当我在其上设置高度时,返回 :(
我在 layoutSubviews() 中创建 headerBackground 约束
并在闭包 属性 中创建标签底部约束,如下面的代码:
private lazy var headerView : HeaderView = {
let view = HeaderView(layout: .login)
let welcomeLabel = UILabel()
view.addSubview(welcomeLabel)
welcomeLabel.translatesAutoresizingMaskIntoConstraints = false
welcomeLabel.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0).isActive = true
welcomeLabel.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 20).isActive = true
welcomeLabel.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -20).isActive = true
return view
}()
我在 iOS 12 个或更早的视图中找到了一个我认为默认值为 clipToBounds = true
的答案
其中 iOS 13 是错误的
在我更改值后,我的问题就解决了,前面的 imageView 从后面视图剪辑。