UITableView作为inputAccessoryView的高度为零

时间:2015-03-20 03:02:38

标签: uitableview ios8 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时帧高度为零。如果在numberOfRowsInSection中手动将帧高度设置为100(宽度为全屏),原点为(0,0),则secondTable将按预期显示正确的数据,但框架会遮挡整个键盘而不是在正常的inputAccessoryView中休息地点。

如何将secondTable的框架设置为正确运行?

1 个答案:

答案 0 :(得分:1)

self.secondTable.autoresizingMask = UIViewAutoresizingNone;