39

在我UITableView使用 Storyboard 进行设置的情况下,我需要能够添加一个工具栏,该工具栏粘在视图的底部,它不应该滚动。

与这个问题不同:LINK我认为我不能将 TableView 子视图添加到普通视图中,然后只需以编程方式添加工具栏,因为我使用的是动态单元格,这似乎更容易通过 Storyboard 集成。

目前,这就是我所坚持的...... 在此处输入图像描述

4

6 回答 6

78

如果您想在放置在某个导航控制器中的一个视图控制器中显示工具栏。

  1. 在情节提要中选择视图控制器
  2. 在实用程序中,显示“属性检查器”。选择“底栏”样式。
  3. 添加栏按钮项
  4. 在视图控制器中添加代码,以显示和隐藏工具栏:

代码:

- (void)viewWillAppear:(BOOL)animated
{
    [self.navigationController setToolbarHidden:NO animated:YES];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [self.navigationController setToolbarHidden:YES animated:YES];
}
于 2013-10-28T01:11:01.613 回答
29

很容易。只需单击导航控制器。然后在 Show Attributes Inspector 中,然后在导航控制器中单击显示工具栏。检查屏幕截图。

显示工具栏屏幕截图

于 2016-01-16T22:08:10.870 回答
17

对于 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)
}
于 2015-12-11T05:37:39.773 回答
11

此补救措施适用于 (2016) iOS 9.2。我们都讨厌苹果让我们把时间浪费在像这样直截了当的事情上。我喜欢这种类型的愚蠢问题的逐步解决方案,所以我将与您分享!:

  1. 选择您的视图控制器>属性检查器>选择“不透明工具栏”
  2. 现在,将“条形按钮”项拖放到情节提要中。
  3. 选择您新放置的 Bar Button Item > Atrtribute Inspector > System Icon > 选择您喜欢的图标。
  4. 在 View 控制器的 viewDidLoad() 方法中,在其他任何内容之前添加以下代码:

    override func viewDidLoad(animated: Bool) {
        self.navigationController?.setToolbarHidden(false, animated: true)
    

    //剩下的代码 }

  5. 您不希望该工具栏挂在其他地方,因此将其添加到您的视图中以在当前窗口关闭后将其隐藏:

-

 override func viewWillDisappear(animated: Bool) {
                super.viewWillDisappear(animated);
                self.navigationController?.setToolbarHidden(true, animated: animated)

        }

瞧!

于 2016-03-17T13:27:27.527 回答
5
  1. 将 UIViewController 拖入 Storyboard
  2. 将 UIToolbar 拖到 Storyboard 内容的顶部。
  3. 将 UITableView 拖到 Storyboard 的内容之上。
  4. 将 tableview 的委托和数据源链接到您的源代码。

尽管您将无法使用 UITableViewController 作为链接类,但第 4 步将允许您将其链接到常规 UIViewController。

不过,您在标题中需要这样的东西

@interface MyViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>

它在你的故事板中看起来像这样:

在此处输入图像描述

于 2013-10-28T00:31:40.390 回答
1

我使用了一个带有容器视图的中间视图控制器。将工具栏视图添加到中间,并使其看起来像您想要的那样(使用 UIButtons 而不是 UIBarButtonItem)。

如果你这样做,让容器视图伸展到屏幕顶部而不是导航栏的底部,否则你会拉出你的头发试图让滚动插图正确。

类似问题中的更多详细信息https://stackoverflow.com/a/31878998/1042111

于 2015-08-07T15:22:33.933 回答