Я использую функцию AutoLayout. Все работает правильно, однако, если я изменяю размер каких-либо элементов управления программно, другие подпредставления или элементы управления не располагаются соответствующим образом. Как обновить ограничение после программного изменения размеров любых элементов управления.
or
Будет ли работать AutoLayout после изменения размера элемента управления в коде?
Редактировать:
Здесь я изменяю размер текстового представления на основе строки, но оно перекрывается с подвидами ниже.
- (void)textViewDidChange:(UITextView *)textView
{
if (textView == pupose_txt_view) {
CGSize maximumLabelSize = CGSizeMake(self.topic_text_view.frame.size.width,
FLT_MAX);
UILabel *label = [[UILabel alloc] initWithFrame:pupose_txt_view.frame];
CGSize expectedLabelSize = [pupose_txt_view.text sizeWithFont:pupose_txt_view.font
constrainedToSize:maximumLabelSize
lineBreakMode:label.lineBreakMode];
CGRect newFrame = pupose_txt_view.frame;
newFrame.size.height = expectedLabelSize.height;
pupose_txt_view.frame = newFrame;
}
}