我有以下要求。当显示 UITableViewController
的 View 时,行数是可变的。在行下方,应显示一个按钮。
当行数较少时,按钮应该锚定在 View 的底部。
当行数较多时,删除按钮应紧跟在最后一行之后。
换句话说:
而不是:
到目前为止,我在这方面的最佳尝试包括设置 tableFooterView
并尝试使用 UITableView
的 contentSize
更新其高度,但是我遇到了各种各样的问题。我可能会继续沿着这条路走下去并寻求一些帮助,但首先我想知道是否有人有其他(更好的)解决方案。
结果必须与双倍大小的状态栏一起很好地播放(例如在通话期间),我的目标是 iOS 6.0。我没有使用界面生成器。
最佳答案
实现此效果的一种可能解决方案可能必须使用两种不同的解决方案。
如果行数意味着按钮将离开屏幕,则像您一直在做的那样使用 footerView。
如果行数意味着按钮不会离开屏幕则
- 将按钮添加到tableView
- 实现
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
并更新按钮的框架以从底部偏移。
从底部的偏移量可能遵循这样的逻辑
- yOffset = CGRectGetHeight(tableView.frame) - (CGRectGetHeight(button.frame) + somePadding)
- yOffset += tableView.contentOffset.y
这意味着按钮仍会随着滚动上下移动,但您不必弄乱 footerView 的高度
关于ios - 将 UIButton 锚定到 UITableViewController View 的底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12885318/