您可以相对于分段控件的TrailingAnchor约束“容器”视图的tailingAnchor。
这是一个简单的示例,我相信为您提供所需的布局:
class SysSpacingViewController: UIViewController {
let seg: UISegmentedControl = {
let v = UISegmentedControl(items: ["A","B","C"])
v.translatesAutoresizingMaskIntoConstraints = false
return v
}()
let cView: UIView = {
let v = UIView()
v.translatesAutoresizingMaskIntoConstraints = false
v.backgroundColor = .white
return v
}()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .systemYellow
cView.addSubview(seg)
view.addSubview(cView)
let g = view.safeAreaLayoutGuide
let m = cView.layoutMarginsGuide
NSLayoutConstraint.activate([
cView.topAnchor.constraint(equalTo: g.topAnchor,constant: 40.0),cView.leadingAnchor.constraint(equalTo: g.leadingAnchor,cView.trailingAnchor.constraint(equalTo: g.trailingAnchor,constant: -40.0),cView.heightAnchor.constraint(equalToConstant: 70.0),seg.leadingAnchor.constraint(equalToSystemSpacingAfter: m.leadingAnchor,multiplier: 1.0),m.trailingAnchor.constraint(equalToSystemSpacingAfter: seg.trailingAnchor,seg.centerYAnchor.constraint(equalTo: cView.centerYAnchor),])
}
}
结果:
,
我认为您可以使用此
segmentedControl.leadingAnchor.constraint(equalTo: containerView.leadingAnchor,constant: 8).isActive = true
segmentedControl.trailingAnchor.constraint(equalTo: containerView.trailingAnchor,constant: -8).isActive = true
请相应地更改containerView
和constants
的名称。
本文链接:https://www.f2er.com/2751444.html