在我的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)
}
当我运行应用程序时它看起来像这样:
我希望工具栏贴在视图的底部,这是如何实现的?
任何建议都将不胜感激。
答案 0 :(得分:3)
问题在于,由于您使用的是UITableViewController
self.view.addSubview(toolbar)
,因此您已将工具栏添加为UITableViewController
的{{1}}的子视图,即view
。作为UITableView
的子视图,工具栏将与表格一起滚动。
解决方案:如果您要自定义视图控制器,请使用包含UITableView
的{{1}}代替使用UIView
。这样,您可以向视图中添加不是您的tableview子视图的元素。
答案 1 :(得分:0)
您还可以将TableViewController嵌入到导航控制器中,并从故事板或以编程方式显示工具栏。这个也标准贴在底部并保持在Views内容的顶部,你有一些功能可以在某些条件下自动隐藏它。
您不必总是使用导航控制器进行导航,有时它是一种方便的方式,可以在不改变您已经制作的视图的情况下使用Xcode。