在我UITableView
使用 Storyboard 进行设置的情况下,我需要能够添加一个工具栏,该工具栏粘在视图的底部,它不应该滚动。
与这个问题不同:LINK我认为我不能将 TableView 子视图添加到普通视图中,然后只需以编程方式添加工具栏,因为我使用的是动态单元格,这似乎更容易通过 Storyboard 集成。
目前,这就是我所坚持的......
在我UITableView
使用 Storyboard 进行设置的情况下,我需要能够添加一个工具栏,该工具栏粘在视图的底部,它不应该滚动。
与这个问题不同:LINK我认为我不能将 TableView 子视图添加到普通视图中,然后只需以编程方式添加工具栏,因为我使用的是动态单元格,这似乎更容易通过 Storyboard 集成。
目前,这就是我所坚持的......
如果您想在放置在某个导航控制器中的一个视图控制器中显示工具栏。
代码:
- (void)viewWillAppear:(BOOL)animated
{
[self.navigationController setToolbarHidden:NO animated:YES];
}
- (void)viewWillDisappear:(BOOL)animated
{
[self.navigationController setToolbarHidden:YES animated:YES];
}
对于 Swift 用户,您可以使用以下代码:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated);
self.navigationController?.setToolbarHidden(false, animated: animated)
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated);
self.navigationController?.setToolbarHidden(true, animated: animated)
}
此补救措施适用于 (2016) iOS 9.2。我们都讨厌苹果让我们把时间浪费在像这样直截了当的事情上。我喜欢这种类型的愚蠢问题的逐步解决方案,所以我将与您分享!:
在 View 控制器的 viewDidLoad() 方法中,在其他任何内容之前添加以下代码:
override func viewDidLoad(animated: Bool) {
self.navigationController?.setToolbarHidden(false, animated: true)
//剩下的代码 }
您不希望该工具栏挂在其他地方,因此将其添加到您的视图中以在当前窗口关闭后将其隐藏:
-
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated);
self.navigationController?.setToolbarHidden(true, animated: animated)
}
瞧!
尽管您将无法使用 UITableViewController 作为链接类,但第 4 步将允许您将其链接到常规 UIViewController。
不过,您在标题中需要这样的东西
@interface MyViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
它在你的故事板中看起来像这样:
我使用了一个带有容器视图的中间视图控制器。将工具栏视图添加到中间,并使其看起来像您想要的那样(使用 UIButtons 而不是 UIBarButtonItem)。
如果你这样做,让容器视图伸展到屏幕顶部而不是导航栏的底部,否则你会拉出你的头发试图让滚动插图正确。
类似问题中的更多详细信息https://stackoverflow.com/a/31878998/1042111