UITableView как inputAccessoryView имеет нулевую высоту

У меня есть два табличных представления, которые я использую в качестве вспомогательных входных представлений в своем проекте. Один создается программно и отлично отображается. Второй — это пользовательское табличное представление с пользовательскими ячейками, созданными в раскадровке и сохраненными как свойство контроллера представления в качестве строгой ссылки.

@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?


person scribbler2309    schedule 20.03.2015    source источник