0

プロジェクトで入力アクセサリ ビューとして使用する 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 のフレームが正しく動作するように設定するにはどうすればよいですか?

4

1 に答える 1

1
self.secondTable.autoresizingMask = UIViewAutoresizingNone;
于 2015-03-21T21:40:58.787 に答える