UILabel.sizeToFitが即時反映されず困っております。
非同期処理でサーバからメッセージを取得後、textをセットし、sizeToFitを呼んでいるのですが、sizeToFitが反映されません。textは反映されます。
一度、UILabelが見えないところまでスクロールした後にUILableが見えるところまでスクロールし直すと何故かsizeToFitが反映されます。
以下コードになります。
// 非同期処理のコールバックの中 dispatch_async( dispatch_get_main_queue(), ^{ // メッセージの整形 NSArray *messageList = (NSArray*) [response valueForKey:@"message"]; NSString *messageText = @""; for(int i = 0; i < response.count; i++){ messageText = [messageText stringByAppendingString:[messageList objectAtIndex:i]]; messageText = [messageText stringByAppendingString:@"\r\n\r\n"]; } if(messageText != @""){ existsAlreadySendedMessage = YES; alreadySendedMessageLabel.text = messageText; [alreadySendedMessageLabel sizeToFit]; } } );
メインスレッドに処理を戻しているので即時リサイズが行われる気がするのですが、されていない現状です。
解決策をよろしくお願い致します。
<追記>
alreadySendedMessageLabelはStoryboardより生成しております。
スクロールはTableViewによって行っています。
alreadySendedMessageLabelの生成方法を教えて下さい。(コードかStoryboardか)あと、スクロールっていうのは何でしょうか?ScrollView?TableView?