私のアプリの詳細ビュー (Scrollview) には、約 1000 語のテキストを取得する UILabel があります。
ラベルが収まるようにサイズを変更したい - 今のところ問題なく動作する
-(void) viewDidAppear:(BOOL)animated {
NSString *message = storycontent.text;
CGSize maximumLabelSize = CGSizeMake(280,5000);
CGSize expectedLabelSize = [message sizeWithFont:storycontent.font constrainedToSize:maximumLabelSize lineBreakMode:NSLineBreakByWordWrapping];
CGRect newFrame = storycontent.frame;
newFrame.size.height = expectedLabelSize.height;
storycontent.frame = newFrame;
}
その詳細ビューに移動すると、ラベルのサイズが期待どおりに変更されます。奇妙なことに、UILabel を下にスクロールしようとすると、最初の単語だけが表示されるように、UILabel が元のサイズに戻ります。
その動作を回避するにはどうすればよいですか?
更新: ラベルを削除して新しいラベルを付けると、正常に動作します。奇妙な動作は、フォント サイズを 17 以外に変更した瞬間から始まります。