将UIButton锚定到UITableViewController视图的底部
我有以下要求。 当显示UITableViewController
的视图时,有可变数量的行。 在行的下面,应该显示一个button。
当行数很less时,button应该锚定到视图的底部。
当行数较大时,删除button应该放在最后一行之后。
换一种说法:
并不是:
我迄今为止的最佳尝试包括设置tableFooterView
并尝试使用UITableView
的contentSize
更新其高度,但是我遇到了各种各样的问题。 我可能会继续走下去,寻求一些帮助,但首先我想知道是否有人有更好的解决scheme。
结果必须与双倍大小的状态栏(例如在呼叫期间)很好地玩,我的目标是iOS 6.0。 我没有使用接口生成器。
实现这种效果的一个可能的解决scheme可能需要使用两种不同的解决scheme
-
如果行数意味着button将不在屏幕上,那么就像你一直在使用footerView。
-
如果行数意味着该button不会在屏幕外
- 将该button添加到tableView
- 实现
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
并更新button的框架从底部偏移。
从底部的偏移可能会遵循这样的逻辑
- yOffset = CGRectGetHeight(tableView.frame) – (CGRectGetHeight(button.frame)+ somePadding)
- yOffset + = tableView.contentOffset.y
这意味着button仍然会随着滚动上下移动,但是您不必混淆footerView的高度
保持滚动视图内的表格视图和button。 将button保持在滚动视图的底部。 为了正确的滚动工作,您可能需要设置滚动视图的scrollEnabled
属性。 有关更多详细信息,请查看
在UIScrollView中滚动UITableView
编辑:
yourView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
检查这个问题的接受的答案关于使用代码来实现struts和spring的更多细节: UIView autoresizingMask – 接口生成器到代码 – 以编程方式创buildstruts和弹簧 – Swift或Objective-C