我是swift的新手,点击推送通知,我试图打开一个VC,这里是代码
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main",bundle: nil)
let detailVC = mainStoryboard.instantiateViewControllerWithIdentifier("DetailsViewController") as! DetailsViewController
detailVC.eventId = eventId
let navigationController = UINavigationController(rootViewController:detailVC)
let myButton = UIButton()
myButton.titleLabel!.frame = CGRectMake(15, 54, 300, 500)
myButton.titleLabel!.text = "Button Label"
myButton.titleLabel!.textColor = UIColor.redColor()
myButton.titleLabel!.textAlignment = .Center
navigationController.navigationBar.addSubview(myButton)
self.window?.rootViewController = navigationController
现在VC打开导航栏顶部,但我没有看到任何添加按钮。所以我想知道我出错的地方。
基于@Hugo reponse
我更新了viewDidLoad中的代码
let btnName = UIButton()
//btnName.setImage(UIImage(named: "imagename"), forState: .Normal)
btnName.titleLabel?.text = "Test"
btnName.titleLabel?.textColor = UIColor.whiteColor()
btnName.frame = CGRectMake(0, 30, 30, 30)
btnName.addTarget(self, action: Selector("action"), forControlEvents: .TouchUpInside)
//.... Set Right/Left Bar Button item
let rightBarButton = UIBarButtonItem()
rightBarButton.customView = btnName
self.navigationItem.rightBarButtonItem = rightBarButton
但仍然没有运气
此致 兰吉特
答案 0 :(得分:1)
您不应该直接向UINavigationBar
添加子视图,而应该使用视图控制器的UINavigationItem并设置leftBarButtonItem
或rightBarButtonItem
。< / p>
在您的情况下,您应该在viewDidLoad:
的{{1}}中添加条形按钮项。
示例:强>
DetailsViewController