如何添加浮动在UITableView上的按钮

时间:2016-07-13 14:00:20

标签: swift uitableview

我有一个显示帖子列表的TableView。我想添加一个漂浮在TableView上的按钮,当用户滚动帖子时按钮不会移动。该按钮将使用户能够发布。我该如何实现呢?我似乎无法在我的tableview中添加superview。

Google Plus应用程序执行类似操作,但如果您没有应用程序,则official website也会出现此行为。该按钮位于左下方。

谢谢!

4 个答案:

答案 0 :(得分:2)

有几种方法可以处理这种情况,而无需丢失表视图控制器。

使用表视图控制器的容器视图

如果您使用的是故事板,请使用按钮和容器视图设置视图控制器。在该容器视图中,具有表视图控制器。您可以使用委派,通知或键值观察来保持两个视图控制器同步。

将按钮添加到窗口而不是表视图控制器

如果您只是希望按钮只是浮动在表视图上,那么您可以将按钮添加到窗口而不是视图。这必须在运行时完成。

答案 1 :(得分:1)

更好的方法是创建UIViewController(不是UITableViewController)并添加UITableViewUIButton。在这种情况下,您可以调整Storyboard中的所有视图并设置适当的约束。

当我们使用UIViewController并添加tableView和按钮时,我们可以在InterfaceBuilder中执行大部分界面设置

当然,您可以向UINavigationController视图添加按钮,如果UITableViewController嵌入,或keyWindow,但这是更糟糕的方式。

答案 2 :(得分:0)

我建议您使用该按钮创建自定义标题视图,并将该视图用于您的表viewForHeaderInSection。这样,您可以将控制器保持为UITableViewController而不是UIViewController,并在用户滚动时保持在顶部。

请注意,如果您的表包含多个部分,则需要调整数据源/委托逻辑,因为每个部分都有一个deader。

答案 3 :(得分:0)

我找到了答案。显然,Interface Builder中存在一个错误,它不允许在UITableView上面放置UIButton或UIView。解决方法是将按钮或视图拖动到文档大纲中,并将其放在场景的最底部。完成后,您可以将该按钮放在UITableView前面。

最后,在添加Autolayout Constraints之前,按钮或图像不会显示。执行此操作后,按钮或图像将浮动在桌面上,并在用户滚动时保持固定。

谢谢!

相关问题