Как сделать родительский RoundedRectView таким же высоким, как UILabelView, который он содержит?

#objective-c #ios #uikit

#objective-c #iOS #uikit

Вопрос:

У меня есть родительский RoundedRectView, который содержит UILabelView разной высоты. В зависимости от содержимого и высоты UILabelView я хочу соответствующим образом настроить RoundedRectView .

Как мне это сделать?

Спасибо

Ответ №1:

Если вы просто хотите, чтобы UILabel отображался, вы можете просто установить для свойства ClipToBounds родительского представления значение no. В противном случае дочерний вид может изменить фрейм родительского вида, как и любой другой

 CGRect parentFrame = [self superview].frame;
// change parent frame
[self superview].frame = parentFrame;
  

Ответ №2:

Почему бы не создать пользовательский подкласс UILabel и не нарисовать там свой закругленный прямоугольник вместо того, чтобы иметь два вида?

Неясно, к какому визуальному эффекту вы стремитесь, но простой границы, представляющей собой закругленный прямоугольник, можно добиться, просто взглянув на CALayer вашу метку.