【发布时间】:2020-09-25 02:32:42
【问题描述】:
我熟悉 Autolayout 编程,但我也想尝试 autoresizingMask 编程。我创建了一个绿色框并希望将其水平居中,但顶部和底部的距离固定,但是无论我尝试了 autoresizingMask 的任何组合,它都无法正常工作。
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
view.autoresizesSubviews = true
view.translatesAutoresizingMaskIntoConstraints = true
let myView = UIView(frame: CGRect(x: 175, y: 100, width: 30, height: 30))
myView.backgroundColor = .green
view.addSubview(myView)
myView.autoresizingMask = [.flexibleRightMargin, .flexibleLeftMargin]
}
我在 iphone SE2 和 iphone 11 Pro Max 上试过,绿块以 SE 为中心,但从未在 Pro Max 上,有人知道这是怎么回事吗?
【问题讨论】:
-
所以您实际上并没有使视图居中,那么您希望该视图“居中”在什么意义上?
-
只想水平居中
-
嗯,你仍然没有水平居中。
-
我真正想做的是测试自动调整大小是否有效。但是,如果我尝试将绿色框保持固定大小并且灵活的右边距现在仍然可以工作
-
总的来说,autoresizingMask 在 ios 中的行为就像没有人一样,如果我应用其中任何一个或任何组合都不起作用。
标签: ios swift autoresizingmask