我尝试以编程方式向我的NavBar
添加刷新按钮,而我在TabBarController
并且我遇到了很大问题。这是我在ViewDidLoad()
中的代码:
let buttonItem = UIBarButtonItem(barButtonSystemItem: .Refresh, target: self, action: "refreshData")
self.navigationItem.rightBarButtonItem = buttonItem
有什么建议吗?
这是我的应用程序启动后的故事板(无图标):
答案 0 :(得分:0)
确保先viewController
嵌入UINavigationController
,然后将此导航控制器添加到tabViewController
的视图控制器阵列中。之后使用以下方法:
let refresh = UIButton(frame: CGRectMake(0, 0, 40, 40))
//Set refresh image
refresh.setImage(UIImage(named: "refresh"), forState: UIControlState.Normal)
//or set text title
refresh.setTitle("Refresh", forState: .Normal)
refresh.addTarget(self, action: "refresh", forControlEvents: UIControlEvents.TouchUpInside)
self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: refresh)
修改强>
什么是你的导航栏?它是UINavigationBar
,是的,它是可能的:
let item = UINavigationItem(title: "")
item.rightBarButtonItem = UIBarButtonItem(title: "Refresh", style: UIBarButtonItemStyle.Done, target: self, action:"refresh")
item.hidesBackButton = true
UINavigationBar().pushNavigationItem(item, animated: false)
但通常它应该嵌入UINavigationController