我有以下要求。显示UITableViewController
视图时,行数可变。在行的下方,应显示一个按钮。
当行数较小时,按钮应固定在视图的底部。
当行数较大时,删除按钮应紧跟在最后一行之后。
换句话说:
而不是:
到目前为止,我最好的尝试是设置tableFooterView
并尝试使用contentSize
的{{1}}更新其高度,但我遇到了各种各样的问题。我可能会继续沿着这条道路寻求帮助,但首先我想知道是否有人有其他(更好的)解决方案。
结果必须与双倍大小的状态栏很好地配合(例如在通话期间),我的目标是iOS 6.0。我没有使用界面构建器。
答案 0 :(得分:1)
实现这种效果的一种可能的解决方案可能必须使用两种不同的解决方案。
如果行数意味着该按钮将不在屏幕上,那么就像你一直使用的那样使用footerView。
如果行数意味着该按钮不会在屏幕外,那么
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
并更新按钮的框架以从底部偏移。从底部偏移可能会遵循这样的逻辑
这意味着按钮仍然会随着滚动而上下移动,但您不必弄乱脚注视图高度
答案 1 :(得分:0)
将表格视图和按钮保持在滚动视图中。将按钮保持在滚动视图的底部。要使滚动正常工作,您可能需要设置滚动视图的scrollEnabled
属性。有关详细信息,请查看此内容
Scrolling a UITableView inside a UIScrollView
编辑:
yourView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
检查此问题的已接受答案,了解有关使用代码实现支柱和弹簧的更多详细信息: UIView autoresizingMask - Interface Builder to Code - Programmatically create struts and springs - Swift or Objective-C