Swift - 滚动时,工具栏跟随uitableview

时间:2014-12-24 16:36:10

标签: ios xcode swift toolbar

在我的UITableViewController中,当我滚动它时,我的工具栏跟随我的tableview。我的代码如下所示:

 override func viewDidLoad() {
        let toolbar: UIToolbar = UIToolbar()
        let checkButton = [UIBarButtonItem(title: "Done", style: .Done, target: self, action: "checkedPress")]
        toolbar.frame = CGRectMake(0, self.view.frame.size.height - 46, self.view.frame.size.width, 48)
        toolbar.sizeToFit()
        toolbar.setItems(checkButton, animated: true)
        toolbar.backgroundColor = UIColor.redColor()
        self.view.addSubview(toolbar)
    }

当我运行应用程序时它看起来像这样: enter image description here

我希望工具栏贴在视图的底部,这是如何实现的?

任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:3)

问题在于,由于您使用的是UITableViewController self.view.addSubview(toolbar),因此您已将工具栏添加为UITableViewController的{​​{1}}的子视图,即view。作为UITableView的子视图,工具栏将与表格一起滚动。

解决方案:如果您要自定义视图控制器,请使用包含UITableView的{​​{1}}代替使用UIView。这样,您可以向视图中添加不是您的tableview子视图的元素。

答案 1 :(得分:0)

您还可以将TableViewController嵌入到导航控制器中,并从故事板或以编程方式显示工具栏。这个也标准贴在底部并保持在Views内容的顶部,你有一些功能可以在某些条件下自动隐藏它。

enter image description here

您不必总是使用导航控制器进行导航,有时它是一种方便的方式,可以在不改变您已经制作的视图的情况下使用Xcode。