Программные ограничения с UISegmentedControl не работает - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь использовать программные ограничения UIKit для создания простого интерфейса, в котором есть строка с UISegmentedControl слева и желтым UIView справа.

Проблема в том, что мне нужен этот UIViewдля расширения на полную высоту вида, однако по какой-то причине его нижняя опора не находится на фактической нижней части контроллера сегмента.

enter image description here

Здеськод

parentGuide = top.layoutMarginsGuide

let choices = UISegmentedControl(items: ["Op1", "Op2"])
choices.translatesAutoresizingMaskIntoConstraints = false
top.addSubview(choices)
choices.leadingAnchor.constraint(equalTo: parentGuide.leadingAnchor).isActive = true
choices.topAnchor.constraint(equalTo: parentGuide.topAnchor).isActive = true

let yellow = UIView()
yellow.translatesAutoresizingMaskIntoConstraints = false
top.addSubview(yellow)
yellow.backgroundColor = UIColor.yellow
yellow.trailingAnchor.constraint(equalTo: parentGuide.trailingAnchor).isActive = true
yellow.topAnchor.constraint(equalTo: parentGuide.topAnchor).isActive = true
yellow.leadingAnchor.constraint(equalTo: parentGuide.trailingAnchor, constant: -40).isActive = true
yellow.bottomAnchor.constraint(equalTo: choices.layoutMarginsGuide.bottomAnchor).isActive = true

Почему это происходит и как я могу это исправить?

1 Ответ

0 голосов
/ 21 мая 2018

Вместо

yellow.bottomAnchor.constraint(equalTo: choices.layoutMarginsGuide.bottomAnchor).isActive = true

сделайте это

yellow.bottomAnchor.constraint(equalTo: choices.bottomAnchor).isActive = true
...