9

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

当行数较少时,按钮应锚定在视图的底部。

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

换句话说:

在此处输入图像描述

并不是:

在此处输入图像描述

到目前为止,我对此的最佳尝试涉及设置 atableFooterView并尝试使用 的 更新其高度contentSizeUITableView但我遇到了各种问题。我可能会继续走这条路并寻求帮助,但首先我想知道是否有人有其他(更好的)解决方案。

结果必须与双倍大小的状态栏(例如在通话期间)很好地配合,我的目标是 iOS 6.0。我没有使用界面生成器。

4

2 回答 2

1

实现此效果的一种可能解决方案可能必须使用两种不同的解决方案。

  1. 如果行数意味着按钮将离开屏幕,那么像你一直在做的那样使用 footerView。

  2. 如果行数意味着按钮不会离开屏幕,那么

    1. 将按钮添加到 tableView
    2. 实现- (void)scrollViewDidScroll:(UIScrollView *)scrollView并更新按钮的框架以从底部偏移。

从底部的偏移量可能遵循一些这样的逻辑

  1. yOffset = CGRectGetHeight(tableView.frame) - (CGRectGetHeight(button.frame) + somePadding)
  2. yOffset += tableView.contentOffset.y

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

于 2012-10-14T19:43:10.113 回答
0

将表格视图和按钮都保留在滚动视图中。将按钮保留在滚动视图的底部。为了正确滚动工作,您可能需要设置scrollEnabled滚动视图的属性。有关该检查的更多详细信息

在 UIScrollView 内滚动 UITableView

编辑:

yourView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin ;

检查此问题的已接受答案,以获取有关使用代码实现支柱和弹簧的更多详细信息: UIView autoresizingMask - Interface Builder to Code - Programmatically create struts and springs - Swift or Objective-C

于 2012-10-14T19:01:49.887 回答