У меня есть два табличных представления, которые я использую в качестве вспомогательных входных представлений в своем проекте. Один создается программно и отлично отображается. Второй — это пользовательское табличное представление с пользовательскими ячейками, созданными в раскадровке и сохраненными как свойство контроллера представления в качестве строгой ссылки.
@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];
OR
[textView setInputAccessoryView:self.secondTableView];
[textView reloadInputViews];
firstTable работает отлично. secondTable никогда не загружается, потому что высота кадра равна нулю во время cellForRowAtIndexPath. Если высота кадра вручную установлена равной 100 (ширина — полный экран) с началом (0,0) в numberOfRowsInSection, secondTable отображается, как и ожидалось, с правильными данными, но кадр закрывает всю клавиатуру вместо того, чтобы оставаться в обычном inputAccessoryView. расположение.
Как настроить правильное поведение фрейма secondTable?