Ios 将UIButton锚定到UITableViewController的底部';s观点

Ios 将UIButton锚定到UITableViewController的底部';s观点,ios,cocoa-touch,uiview,uitableview,Ios,Cocoa Touch,Uiview,Uitableview,我有以下要求。当显示UITableViewController的视图时,行数可变。在行下方,应显示一个按钮 当行数较少时,按钮应定位到视图的底部 当行数较大时,删除按钮应紧跟在最后一行之后 换言之: 而不是: 迄今为止,我在这方面的最佳尝试是设置tableFooterView,并尝试使用UITableView的contentSize更新其高度,但我遇到了各种各样的问题。我可能会继续走这条路并寻求一些帮助,但首先我想知道是否有人有其他(更好的)解决方案 结果必须与一个双倍大小的状态栏(例如在通

我有以下要求。当显示
UITableViewController
的视图时,行数可变。在行下方,应显示一个按钮

当行数较少时,按钮应定位到视图的底部

当行数较大时,删除按钮应紧跟在最后一行之后

换言之:

而不是:

迄今为止,我在这方面的最佳尝试是设置
tableFooterView
,并尝试使用
UITableView
contentSize
更新其高度,但我遇到了各种各样的问题。我可能会继续走这条路并寻求一些帮助,但首先我想知道是否有人有其他(更好的)解决方案


结果必须与一个双倍大小的状态栏(例如在通话过程中)配合得很好,我的目标是iOS 6.0。我没有使用interface builder。

将表格视图和按钮保留在滚动视图中。将按钮保持在滚动视图的底部。要使滚动正常工作,您可能需要设置滚动视图的
scrolldenabled
属性。有关这方面的更多详细信息,请查看此

编辑:

yourView.autoresizingMask=ui视图autoresizingflexibletopmargin

有关使用以下代码实现支柱和弹簧的更多详细信息,请查看此问题的公认答案:

实现此效果的一种可能解决方案可能需要使用两种不同的解决方案

  • 如果行的数量意味着按钮将离开屏幕,那么使用footerView,就像您一直在做的那样

  • 如果行数表示按钮不会离开屏幕,则

  • 将按钮添加到tableView
  • 实现
    -(void)scrollViewDidScroll:(UIScrollView*)scrollView
    ,并更新按钮的边框,使其与底部偏移
  • 从底部的偏移可能遵循如下逻辑

  • yOffset=CGRectGetHeight(tableView.frame)-(CGRectGetHeight(button.frame)+一些填充)
  • yOffset+=tableView.contentOffset.y

  • 这意味着按钮仍会随着滚动而上下移动,但您不必弄乱footerView高度

    ,但在不需要滚动时,如何将按钮保持在屏幕底部?方法是将按钮固定在大小检查器中滚动视图的底部。即使uitableviewcell的大小更改,scrollview的最小大小始终保持不变。我应该在问题中提到我没有使用interface builder(我现在将更新它)。你能解释一下IB用来“将按钮连接到scrollView底部”的API,这样我就可以尝试在代码中复制它了吗?你可以为此设置视图的autoResizingMask。检查编辑。在同一方向滚动的滚动视图中添加一个滚动视图需要麻烦的图形,伙计。投你一票!嘿@Ben我问了一个类似的问题。您可能想查看stackoverflow.com/questions/21692880/uiscrollview-with-sticky-footer-uiview-and-dynamic-height-content。你是怎么解决的?