Dus*_*Sun 2 uinavigationitem ios swift
我想在一个右侧有2个按钮UINavigationBar.以下是源代码.没有错误,但也没有按钮.这是一个UIViewController,而不是一个UINavigationViewController
let buttonEdit: UIButton = UIButton.buttonWithType(UIButtonType.Custom) as! UIButton
buttonEdit.frame = CGRectMake(0, 0, 40, 40)
buttonEdit.setImage(UIImage(named:"me44.png"), forState: UIControlState.Normal)
buttonEdit.addTarget(self, action: "rightNavItemEditClick:", forControlEvents: UIControlEvents.TouchUpInside)
var rightBarButtonItemEdit: UIBarButtonItem = UIBarButtonItem(customView: buttonEdit)
let buttonDelete: UIButton = UIButton.buttonWithType(UIButtonType.Custom) as! UIButton
buttonDelete.frame = CGRectMake(0, 0, 40, 40)
buttonDelete.setImage(UIImage(named:"me44.png"), forState: UIControlState.Normal)
buttonDelete.addTarget(self, action: "rightNavItemDeleteClick:", forControlEvents: UIControlEvents.TouchUpInside)
var rightBarButtonItemDelete: UIBarButtonItem = UIBarButtonItem(customView: buttonDelete)
// add multiple right bar button items
self.navigationController?.navigationItem.setRightBarButtonItems([rightBarButtonItemDelete, rightBarButtonItemEdit] as [AnyObject], animated: true)
//I also tried code below no luck either
self.navigationItem.setRightBarButtonItems([rightBarButtonItemDelete, rightBarButtonItemEdit] as [AnyObject], animated: true)
Run Code Online (Sandbox Code Playgroud)
这段代码错了:
self.navigationController?.navigationItem.setRightBarButtonItems(
[rightBarButtonItemDelete, rightBarButtonItemEdit] as [AnyObject], animated: true)
Run Code Online (Sandbox Code Playgroud)
你没有设置导航控制器navigationItem; 你设置了你的 navigationItem.而且,[AnyObject]事情是不必要的.所以:
self.navigationItem.setRightBarButtonItems(
[rightBarButtonItemDelete, rightBarButtonItemEdit], animated: true)
Run Code Online (Sandbox Code Playgroud)
但请注意,仅当您的视图控制器是UINavigationController的子级时才有效.设置视图控制器navigationItem仅在该情况下自动填充导航栏.如果您不处于这种情况 - 即,如果您的界面中只有一个"松散"的导航栏 - 您需要手动填充导航栏(通过设置它 navigationItem).
(另请注意,如果您没有"me44.png"图像,可能是您的代码正在运行,但您只是没有看到任何内容.)
| 归档时间: |
|
| 查看次数: |
2884 次 |
| 最近记录: |