锚定一个UIButton到一个UITableViewController的视图底部(Anchor a

2019-08-01 10:58发布

我有以下要求。 当UITableViewController显示的视图,有行的变量数。 下面的行,应显示一个按钮。

当行数较小时,按钮应该被锚定到视图的底部。

当行的数量较大时,删除按钮应立即最后一行之后。

换一种说法:

并不是:

在此我最好的尝试迄今已参与设置tableFooterView并试图更新使用它的高度contentSize了的UITableView ,但我遇到了各种各样的问题。 我可能会继续沿着这条道路,并寻求一些帮助,但首先我想知道是否有人替代(更好的)解决方案。

结果必须(在通话例如期间)有两个大小状态栏发挥很好,我瞄准的iOS 6.0。 我不使用界面生成器。

Answer 1:

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

  1. 如果行量意味着该按钮会关闭屏幕,然后用你喜欢的footerView一直在做。

  2. 如果行量意味着该按钮将不会被关断屏幕,然后

    1. 将按钮添加到的tableView
    2. 实施- (void)scrollViewDidScroll:(UIScrollView *)scrollView和更新按钮的帧从底部偏移。

在从底部偏移可能会遵循这样一些逻辑

  1. Y偏移= CGRectGetHeight(tableView.frame) - (CGRectGetHeight(button.frame)+ somePadding)
  2. Y偏移+ = tableView.contentOffset.y

这意味着,该按钮仍与滚动上下运动,但你不必乱用footerView高度



Answer 2:

保留两个表视图和滚动视图中的按钮。 保持按钮滚动视图的底部。 对于正常滚动的工作,你可能要设置scrollEnabled的滚动视图属性。 有关更多详细信息,请检查这件事

滚动一个UIScrollView内的UITableView

编辑:

yourView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;

检查这个问题,接受的答案,详细了解implimenting使用代码支柱和弹簧: UIView的autoresizingMask - Interface Builder中的代码-编程创建支柱和弹簧-斯威夫特和Objective-C的



文章来源: Anchor a UIButton to the bottom of a UITableViewController's view