私のtableViewのほとんどは、テーブルの行の高さが一定です。そのテーブルの高さは変更できますが、設計時にのみ変更できます。そのテーブルの行の高さを2回エンコードする気はありません。
だから私はこのようなことをします:
@interface UIViewController (cellHeightofFirstRowForTable) <UITableViewDataSource>
@end
#import "UIViewController+cellHeightofFirstRowForTable.h"
@implementation UIViewController (cellHeightofFirstRowForTable)
-(CGFloat) cellHeightForTable: (UITableView *) tableView
{
cellHeight= [self tableView:tableView heightForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
}
@end
基本的に、テーブルの高さを初めて尋ねるときは、一度計算して静的変数に格納し、その値を使用したいと思います。
このコンパイルエラーが発生しました:
No visible @interface for 'UIViewController' declares the selector 'tableView:heightForRowAtIndexPath:'
しかし、ねえ、私はすでにこれがUITableViewDataSourceデリゲートに準拠するUIViewControllerのプロトコルであることをインターフェイスで指定しています。
それで、キャッチは何ですか?
コードをコピーするだけでいいですか?
注:今では、デザインが愚かであることをすでに知っています。質問は、将来の使用のために残っています。