如何将按钮放在UITableView上,它不会在iOS中滚动表格

我想把按钮放在UITableView屏幕的同一位置,不会滚动UITableView。当我尝试addSubview按钮时,它们会显示但滚动显示UITableView

放置按钮的原因UITableView是让用户对其进行操作。我不是在谈论在单元格中使用按钮。它们是浮动按钮,从不移动它们的位置。

我正在使用UITableViewController,我不想为此目的使用页眉或页脚。另外一些酒吧(UIToolbar例如)对我来说不是一个选择。

提前致谢。


慕村225694
浏览 529回答 3
3回答

BIG阳

对此的一个解决方案是延伸UIViewController而不是UITableViewController。您需要添加自己的表视图并设置所有内容。然后,您可以将按钮添加到视图控制器的视图而不是表视图。

杨魅力

你也可以这样做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];}我相信这是你问题的真正答案
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS