Если вы сделаете свои фиксированные размеры ярлыков (numberOfLines! = 0), они автоматически покажут ... если текстовое содержимое не подходит.
Чтобы создать макет вида, посмотрите на новый (с iOS 9) UIStackView, который позволяет складывать представления и управлять их автоматическим расположением.
Одним из возможных подходов к вашему требованию является наличие трех меток внутри UIStackView. Затем используйте ограничения автоматического компоновки, чтобы упорядочить UIStackView, кнопки и изображение. Один из ваших ограничений должны сделать UIStackView некоторую фиксированную ширину и/или высоту, так что вы можете контролировать размер этикеток:
Использование визуального языка: H: [myStackView (== 280)] или
theView.addConstraint(NSLayoutConstraint(item: myStackView, attribute: NSLayoutAttribute.width, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.width, multiplier: 1, constant: 280))
Вот пример кода для создания UIStackView программно и ссылки на документацию Apple: https://developer.apple.com/reference/uikit/uistackview
пример кода имеет две метки сложенных горизонтально, сосредоточенные и одинакового размера, разделенных на 40. Вы хотите, чтобы складывать ваши метки вертикально.
let stackView = UIStackView(arrangedSubviews: [negativeResponseButton, positiveResponseButton])
stackView.axis = .horizontal
stackView.distribution = .fillEqually
stackView.alignment = .center
stackView.spacing = 40