如何在滚动表格视图上方(或下方)放置工具栏

Ada*_*ler 3 scroll uitableview swift

环境:

  • Xcode 7.3.1
  • iOS 9.3
目的:

    在工具栏(或不同按钮)相对于滚动表处于固定位置(上方或下方)的可滚动表格视图。
故事板:
    最初,我只是拥有tableview并向其中添加了一个工具栏,但是该工具栏位于tableview中。
    后来,我在“底部栏:不透明工具栏”中找到了此选项,但无法弄清楚如何使用它/将工具栏移到提供的空间(看起来像我想要的)
      故事板
当前结果:
    如果我只有几个单元格,例如:5或10,则结果是“还可以”,但不是“很好”:
      好的

    但是,如果我有大量的单元格,例如:20,那么我试图避免的问题就很明显了:

      坏
查询:
  • 我可以在Xcode UI中完成我想要的吗?
    • 如果是这样,有人可以提供一些我需要采取的指示/步骤吗?
  • 还是我需要在Swift代码中执行此操作?
    • 再次感谢指针/步骤/通用代码示例。



  • WRT 2016-09-15在答案中编辑#1

    将初始View Controller(带有按钮的View Controller)嵌入到UINavigationController中。

    我看不到该怎么做,因为我似乎唯一能嵌入到导航控制器中的就是标签栏控制器

      嵌入

    如果尚未创建,请创建一个UITableViewController类,并将其链接到Table View Controller。

    我相信,我已经class ExistingLocationsViewController: UITableViewController { ... }(和一个class ExistingLocationTableViewCell: UITableViewCell { ... })适当地链接了

    将此代码添加到类中,以使“工具栏”在查看“表格视图”时显示和消失:
        导入UIKit
        类ViewController:UITableViewController {
            覆盖func viewDidLoad(){
                super.viewDidLoad()
                navigationController?.isToolbarHidden = false
            }
            覆盖func viewWillDisappear(_动画:布尔){
                navigationController?.isToolbarHidden = true
            }
        }
    这应该是您所要做的。如果要编辑工具栏,请在编辑时使其可见,然后再次将其隐藏。

    仅供参考,在我的Xcode iOS版本中,该属性似乎被命名为toolbarHiddennot **isT**oolbarHidden


    另一种方法(2016-09-17)
    回到上一步(或两步),我注意到Table View Controller的一个选项并尝试使用它,但是它似乎没有用。有关详细信息,请参见图片(和其中的文字):
      嵌入


    当我运行该应用程序时,它似乎没有任何区别(再次参见图片):
      嵌入


    我做错什么了吗?还是完全误解了Xcode接口?

    Chr*_*oph 5

    将工具栏添加到任何视图的最简单方法之一是将其嵌入到NavigationViewController。所有这些都可以在没有代码的情况下完成:

    1. 以您当前拥有的View Controller(假设为UITableViewController)并在Editor-> Embed In下,选择Navigation Controller在此处输入图片说明

      1. 选择新创建的导航控制器。在“工具栏可见性”下的工具栏中,选择要显示的工具栏。如果需要,您还可以保留导航栏,否则将其关闭。 在此处输入图片说明

      2. 现在,您可以在中修改工具栏UITableViewController。只需将不同的工具栏项(“条形按钮”项,“固定空格”条形按钮项,“柔性条形”按钮项)拖动到工具栏即可。请注意,您无法移动工具栏,而只能在中更改其样式NavigationViewController在此处输入图片说明

    编辑: 由于您有一个不同的初始视图控制器,我建议您解决此问题稍有不同。这将需要一些代码:

    1. 将初始View Controller(带有按钮的一个)嵌入到UINavigationController。卸下其他所有导航控制器。您的按钮应该只具有显示的提示UITableViewController。禁用导航控制器中的工具栏,和以前一样,由您来启用导航栏(我建议您这样做)。 在此处输入图片说明

    2. 如果尚未创建,请创建一个UITableViewController类并将其链接到Table View Controller。 在此处输入图片说明

    3. 将此代码添加到类中,以使“工具栏”在查看“表格视图”时显示和消失:

      import UIKit
      
      class ViewController: UITableViewController {
      
          override func viewDidLoad() {
              super.viewDidLoad()
              navigationController?.isToolbarHidden = false
          }
      
          override func viewWillDisappear(_ animated: Bool) {
              navigationController?.isToolbarHidden = true
          }
      
      }
      
      Run Code Online (Sandbox Code Playgroud)

    这应该是您所要做的。如果要编辑工具栏,请在编辑时使其可见,然后再次将其隐藏。