AutoLayout機能を使用しています。すべてが適切に機能しますが、プログラムでコントロールのサイズを変更すると、他のサブビューまたはコントロールがそれに応じて配置されません。プログラムでコントロールのサイズを変更した後、制約を更新するにはどうすればよいですか。
また
コードでコントロールのサイズを変更した後、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;
}
}