繁体   English   中英

UITableView的tableFooterView以非常奇怪的方式显示

[英]UITableView's tableFooterView being displayed in very strange ways

我在界面生成器中配置了UIViewController。 它包含一个UITableView,一个UIView作为页眉和另一个UIView作为页脚。

(请注意,这两个用作页眉和页脚的UIView不是节的页眉和页脚。)

标头工作得很好。 在界面构建器中,UITableView与超级视图对齐(顶部:0,底部:0,前导:0,尾部:0)。 然后,将headerView(UIView)对齐到UITableView的顶部,并使其宽度和水平居中对齐到UITableView。 headerView的高度根据其子视图进行配置。

在.m文件中,我设置了

    self.myTableView.tableHeaderView = self.headerView;

一切正常。 果然,headerView固定在UITableView的顶部,当您向下滚动时,headerView随之滚动,从屏幕上消失。 优秀的。

我以为我会在页脚上做同样的事情。 的确,除了将footerView的底部与UITableView对齐外,我做的完全相同(是的,这两个共享相同的宽度和水平居中)。 我将footerView的高度设置为某个固定值。

在.m文件中,添加以下代码行:

   self.myTableView.tableFooterView = self.footerView;

这就是奇怪的地方...当我滚动到底部时,完全根据我在界面生成器中指定的footerView的高度,有UIView footerView的空间。

然后,当我向上滚动时,用手指按住滚动滚动到UITableView的顶部,footerView的子视图就到了! WTF!

有人知道吗?

一切都在Interface Builder中配置,并且tableHeaderView和tableFooterView属性在viewDidLoad:方法中分配。

到目前为止,这是丑陋的解决方案。

footerView和UITableView的底部对齐,并将该约束作为属性(bottomToBottomConstraint)连接到.m文件。 然后,将myTableView.contentSize.height设置为bottomToBottomConstraint.constant,该视图出现在我想要的位置。

    self.bottomToBottomConstraint.constant = self.myTableView.contentSize.height;

虽然它只是一行代码,但我更希望理解问题并实现真正的解决方案……等待您的知识!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM