2013-08-31 74 views
3

我想从一个笔尖添加一个简单的表格范围的页脚视图到我的UITableView,但由于某种原因,页脚显示总是一行太高,并且按钮没有响应所有水龙头(其实触摸实际上一直到后面的按钮电池云):非常奇怪的UITableView tableFooterView行为

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,那么事情就会正常工作,因此它不再是主要问题。但是,如果有人知道为什么发生这种情况,请张贴答案。

+0

尝试检查(并执行'recursiveDescription')布局更新后,根据我的答案中的最新评论。您可能会看到768,因为这是Interface Builder中指定的宽度。 –

回答

1

如果触摸通过您的视图,这意味着它们位于父视图边界之外。看着你的屏幕截图,我猜灰暗的黑条是实际的页脚视图。出于某种原因,它内部的按钮正在被推上去和越界。

最有可能的原因是,当视图插入表中时,它会比XIB布局中的高度更小,导致按钮的弹簧(或自动布局约束)弹出。所以你只需要调整你的支柱弹簧(或约束)。如果您可以分享有关您的布局的更多细节,我可以给您更具体的说明。

+0

我已经考虑过了,并将按钮绑定到视图的底部(关闭自动布局)。查看我的更新。 – devios1

+1

尝试在你的视图控制器中放置一个断点并在控制台中执行'[self.tableFooterView recursiveDescription]'。您可以通过查看页脚的框架和视图层次结构来获得线索。 –

+0

对不起,我没有看到'recursiveDescription' ... – devios1