メソッドを使用して自動高さ計算で UITableViewCell を作成する必要がありましたsystemLayoutSizeFittingSize:UILayoutFittingCompressedSize
。私のビューが UILabels と UIImageViews を持つまでは、すべてがうまく機能していました。ラベルの 1 つを UIButton に置き換える必要があるとき、メソッドはサイズを正しく計算しませんでした。
適切に動作させるために、UILabels 以外の UIElements に追加情報を提供する必要がありますか?
最後に、TapGestures を UILabels に追加して機能させる必要がありました。
セルビューは次のとおりです。
時間「09:00 AM」と場所はここでのラベルです。メソッドが適切に結果を出した場合、これらはボタンである可能性があります。
アイデアはシンプルで、可能な限り最小の画面サイズ (iPhone 3.5 インチ) でセル xib を作成します。クラスで個別に xib インスタンスを作成し、そのインスタンスに情報 (時間、場所など) を提供し、systemLayoutSizeFittingSize:UILayoutFittingCompressedSize メソッドを実行してサイズを計算します。
_scheduleCell = [[[UINib nibWithNibName:@"HomeScheduleViewCell" bundle:nil] instantiateWithOwner:nil options:nil] objectAtIndex:0];
CGSize fullSize = [_scheduleCell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];