プロジェクトで入力アクセサリ ビューとして使用する 2 つのテーブル ビューがあります。1 つはプログラムで作成され、完全に表示されます。2 つ目は、ストーリーボードで作成され、強力な参照としてビュー コントローラーのプロパティとして格納されたカスタム セルを含むカスタム テーブル ビューです。
@property UITableView *firstTable; @property (strong, nonatomic) IBOutlet UITableView *secondTable;
どちらも次のように viewDidLoad で開始されます。
self.firstTable = [[UITableView alloc] initWithFrame:
CGRectMake(0, 0, self.view.bounds.size.width, 100) style:UITableViewStylePlain];
self.firstTable.delegate = self;
self.firstTable.dataSource = self;
self.firstTable.scrollEnabled = YES;
self.firstTable.rowHeight = 30;
self.firstTable.backgroundColor = [[SwagCommonFunctions alloc] colorWithHexString:@"f4ecea"];
self.secondTable.frame = CGRectMake(0, 0, self.view.bounds.size.width, 100);
別の関数で入力アクセサリ ビューとして設定されている
[textView setInputAccessoryView:self.firstTableView];
[textView reloadInputViews];
また
[textView setInputAccessoryView:self.secondTableView];
[textView reloadInputViews];
firstTable は完全に機能します。cellForRowAtIndexPath の時点でフレームの高さがゼロであるため、secondTable は読み込まれません。numberOfRowsInSection の原点 (0,0) でフレームの高さを手動で 100 (幅は全画面表示) に設定すると、secondTable は正しいデータで期待どおりに表示されますが、フレームは通常の inputAccessoryView に収まるのではなく、キーボード全体を覆い隠します。位置。
secondTable のフレームが正しく動作するように設定するにはどうすればよいですか?