如何在Storyboards的UITableViewController底部添加工具栏?

时间:2013-10-28 00:26:41

标签: ios iphone objective-c uitableview uiview

在我使用Storyboards设置的UITableView中,我需要能够添加一个粘贴到视图底部的工具栏,它不应该滚动。

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

现在,这就是我所困扰的...... enter image description here

6 个答案:

答案 0 :(得分:75)

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

  1. 在故事板中选择视图控制器
  2. 实用工具中的
  3. ,显示“属性检查器”。选择“底栏”风格。
  4. 添加栏按钮项
  5. 在视图控制器中添加代码,以显示和隐藏工具栏:
  6. 代码:

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

答案 1 :(得分:24)

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

Show Toolbar Screen Shot

答案 2 :(得分:15)

对于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)
}

答案 3 :(得分:9)

此补救措施适用于(2016)iOS 9.2。 我们都讨厌Apple如何让我们在像这样简单易懂的事情上浪费时间。我喜欢这种愚蠢问题的分步解决方案,所以我会与你分享!:

  1. 选择您的View控制器>属性检查器>选择“不透明 工具栏“
  2. 现在,将“条形按钮项目”拖放到故事板上。
  3. 选择新删除的条形按钮项> Atrribute Inspector> 系统图标>选择您喜欢的图标。
  4. 在View控制器的viewDidLoad()方法中,首先添加此代码:

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

    //代码的其余部分     }

  5. 您不希望该工具栏在其他地方闲逛,因此请在您的视图中添加此工具栏 在当前窗口被解除后隐藏它:

  6. -

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

    瞧!

答案 4 :(得分:5)

  1. 将UIViewController拖到Storyboard
  2. 将UIToolbar拖到Storyboard内容的顶部。
  3. 在故事板的内容上拖动UITableView。
  4. 将tableview的委托和数据源链接到源代码。
  5. 虽然您将无法使用UITableViewController作为链接类,但步骤4将允许您将其链接到常规UIViewController。

    你需要在标题中使用这样的东西

    @interface MyViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
    

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

    enter image description here

答案 5 :(得分:1)

我使用了一个带有容器视图的中间View Controller。将工具栏视图添加到中间层,并使其显示为您想要的(使用UIButtons而不是UIBarButtonItem)。

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

类似问题https://stackoverflow.com/a/31878998/1042111

中的更多细节