[解決済み] UITableViewの動的なセルの高さは、スクロールした後にのみ正しくなります。
2022-07-30 09:08:47
質問
私は
UITableView
に、カスタム
UITableViewCell
は、オートレイアウトを使用してストーリーボードで定義されています。このセルには、複数の複数行の
UILabels
.
は
UITableView
はセルの高さを適切に計算しているように見えますが、最初の数セルではその高さがラベル間で適切に分割されていません。
少しスクロールすると、すべてが期待どおりに動作します (最初に不正確だったセルも)。
- (void)viewDidLoad {
[super viewDidLoad]
// ...
self.tableView.rowHeight = UITableViewAutomaticDimension;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
TableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"TestCell"];
// ...
// Set label.text for variable length string.
return cell;
}
自動レイアウトが最初の数回で機能しない原因として、私が見落としている可能性のあるものはありますか?
私は サンプル プロジェクト を作成し、この挙動を実証しています。
どのように解決するのですか?
これは明確に文書化されているかどうか分かりませんが、"left "に
[cell layoutIfNeeded]
を追加すると解決します。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
TableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"TestCell"];
NSUInteger n1 = firstLabelWordCount[indexPath.row];
NSUInteger n2 = secondLabelWordCount[indexPath.row];
[cell setNumberOfWordsForFirstLabel:n1 secondLabel:n2];
[cell layoutIfNeeded]; // <- added
return cell;
}
関連
-
dyld: ライブラリがロードされていません。エラーの解決
-
EXC_BAD_ACCESS (code=2, address=0x0)
-
[解決済み] Xcode 6.3 - 現在の iOS Development 証明書または保留中の証明書要求がすでにあります。
-
[解決済み] UITextViewのプレースホルダー
-
[解決済み] IBOutletsはARCのもとで強くなるべきか、弱くなるべきか?
-
[解決済み] UIViewの左上と右上だけにcornerRadiusを設定する方法は?
-
[解決済み] NSOperationとGrand Central Dispatchの比較
-
[解決済み] UIViewの角丸とドロップシャドウ?
-
[解決済み] Swift で HTTP リクエストを行うにはどうしたらいいですか?
-
[解決済み] 動的なセル高を持つUITableViewのreloadData()は、飛び跳ねたスクロールを引き起こします。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
XCode のコンパイル例外を解決する clang: error: linker command failed with exit code 1
-
IOSラーニングノート「このクラスはxxxのキーバリューコーディングに対応していません」問題解決
-
[解決済み] Xcode 7のエラーです。"Missing iOS Distribution signing identity for ..." (iOS配布用署名IDがありません)
-
[解決済み] Objective-CでNSNotificationCenterを通してメッセージを送受信する?
-
[解決済み] iOS 13 のフルスクリーンでモーダルを表示する
-
[解決済み] コードサインエラーです。期限切れのプロファイルを削除した後、プロビジョニングプロファイルが見つからない
-
[解決済み] UILabelで複数行のテキストを表示する
-
[解決済み] UIViewの角丸とドロップシャドウ?
-
[解決済み] UITextFieldのテキストインセット?
-
[解決済み] セキュリティで保護されたWebサービスにもアクセスするiOSアプリで、Facebook認証を行うためのデザイン