非常奇怪的UITableView tableFooterView行为

时间:2013-08-31 23:03:01

标签: objective-c uitableview tablefooterview

我正在尝试从笔尖添加一个简单的表格范围的页脚视图到我的UITableView,但由于某种原因,页脚总是显示一行太高,并且按钮根本没有响应到水龙头(在事实上,触摸实际上直到按钮后面的单元格):

enter image description here

我无法弄清楚为什么页脚没有进入正确的位置。我已经明确地将它的高度计算在它所包含的UIPopoverController的大小中。

以下是我创建/添加页脚视图的方法:

self.tableFooterView = [[NSBundle mainBundle] loadNibNamed:@"ModifierFooterView" owner:self options:nil][0];
self.tableView.tableFooterView = self.tableFooterView;

更新:按钮分别绑定在左下角和右下角:

enter image description here

另外,对于线索,我尝试将页脚视图的整个背景颜色设置为亮绿色。从前面的截图中可以看出,它并没有在任何地方显示绿色。

更新2:在我将页脚视图作为表格页脚加载后从页面加载页脚值时,记录页脚视图的帧值时,它具有正确的Y值,可以将其置于正确的位置在最后一排之后。唯一有点奇怪的读数是宽度是768而不是父视图的宽度。

更新3:原来问题是由于加载的页脚视图以某种方式将其帧高度设置为0。我仍然没有弄清楚这种情况发生在何处/原因,但是如果我在视图即将出现时将其明确地设置为50,那么事情就会正常工作,因此它不再是一个主要问题。但是,如果有人知道为什么会发生这种情况,请发表答案。

1 个答案:

答案 0 :(得分:1)

如果触摸通过您的视图,则意味着它们位于父视图边界之外。看看你的截图,我猜测较暗的灰色条是实际的页脚视图。由于某种原因,它内部的按钮被推高并超出范围。

最可能的原因是,当视图插入到表格中时,它的高度比XIB布局的高度小,从而导致按钮的支柱和音高。弹簧(或自动布局约束)来推动它们。所以你只需要调整你的struts&弹簧(或约束)。如果您可以分享有关布局的更多详细信息,我可以为您提供更具体的说明。