У меня есть UIView
, который содержит два UILabels, которые имеют динамические высоты. Я хочу, чтобы UIView
соответствовал размеру UILabels + некоторых дополнений. Прямо сейчас я рисую ярлыки, а затем устанавливает ограничения ширины и высоты UIView на объединенный размер меток.
Прямо сейчас я делаю это:Установите размер UIView для соответствия subViews
func populateWithMessage(headline: String?, message: String) {
// Sets text
self.headerLabel.text = headline
self.messageLabel.text = message
self.headerLabel.sizeToFit()
self.messageLabel.sizeToFit()
self.layoutSubviews()
// Finding the label with the greatest width
var longestLabel: UILabel!
if self.headerLabel.frame.width > self.messageLabel.frame.width {
longestLabel = self.headerLabel
} else {
longestLabel = self.messageLabel
}
let combinedLabelHeight = self.headerLabel.frame.height + self.messageLabel.frame.height
// Update the container view's constraints
self.containerViewWidtConstraint.constant = longestLabel.frame.width + 10
self.containerViewHeightConstraint.constant = combinedLabelHeight + 10
self.updateConstraints()
}
К сожалению, это не работает: -/
Любые идеи будут оценены!
Я использую Swift 2.3 и Autolayout.
Этот ответ может быть полезно http://stackoverflow.com/questions/16009405/uilabel-sizetofit-doesnt-work-with-autolayout-ios6 –
Спасибо за ваш ответ, но от того, что я могу сказать, что вопрос о том, как сделать UILabel подходящим для текста, а не как сделать UIView подходящим для UILabel. – NikMos
Извините, это не помогло, я сам пробовал сам и добавил ответ. –