3 回答
TA贡献1859条经验 获得超6个赞
对此的一个解决方案是延伸UIViewController
而不是UITableViewController
。您需要添加自己的表视图并设置所有内容。然后,您可以将按钮添加到视图控制器的视图而不是表视图。
TA贡献1811条经验 获得超6个赞
你也可以这样做UITableViewController(不需要普通的UIViewController,它可以嵌套你的桌子或VC)
使用SafeAreas更新iOS11 +
您想使用autolayout将视图保持在底部
{
[self.view addSubview:self.bottomView];
[self.bottomView setTranslatesAutoresizingMaskIntoConstraints:NO];
UILayoutGuide * safe = self.view.safeAreaLayoutGuide;
[NSLayoutConstraint activateConstraints:@[[safe.trailingAnchor constraintEqualToAnchor:self.bottomView.trailingAnchor],
[safe.bottomAnchor constraintEqualToAnchor:self.bottomView.bottomAnchor],
[safe.leadingAnchor constraintEqualToAnchor:self.bottomView.leadingAnchor]]];
[self.view layoutIfNeeded];
}
并确保视图始终位于顶部
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
[self.view bringSubviewToFront:self.bottomView];
}
以前的旧解决方案
通过滚动表格,您需要调整“浮动”视图的位置,它会很好
如果您在UITableViewController中,只需
如果要将视图浮动在UITableView的顶部
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGRect frame = self.floatingView.frame;
frame.origin.y = scrollView.contentOffset.y;
self.floatingView.frame = frame;
[self.view bringSubviewToFront:self.floatingView];
}
如果你想浮动UITableView底部的视图
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGRect frame = self.floatingView.frame;
frame.origin.y = scrollView.contentOffset.y + self.tableView.frame.size.height - self.floatingView.frame.size.height;
self.floatingView.frame = frame;
[self.view bringSubviewToFront:self.floatingView];
}
我相信这是你问题的真正答案
- 3 回答
- 0 关注
- 567 浏览
添加回答
举报