自定义后退按钮视图

时间:2009-08-27 17:41:36

标签: iphone objective-c

我正在尝试将后退按钮更改为自定义按钮。如果我只用自定义标题创建一个UIBarButtonItem,那就可以了。但是,如果我使用自定义视图创建一个,则按钮不会显示,而是显示默认的后退按钮。有什么想法吗?

UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
backBtn.frame = CGRectMake(0, 0, 51, 31);
[backBtn setImage:[UIImage imageNamed:@"nav_btn_back.png"] forState:UIControlStateNormal];
[backBtn addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *back = [[[UIBarButtonItem alloc] initWithCustomView:backBtn] autorelease];
self.navigationItem.backBarButtonItem = back;   

2 个答案:

答案 0 :(得分:0)

不确定为什么不起作用。但是我意识到我可以将这个自定义按钮设置为我视图的leftBarButtonItem

答案 1 :(得分:0)

你可以使用 setBackButtonBackgroundImage Apple doc

用法:

let backImg: UIImage = UIImage(named: "img_name")!
backButton.setBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)

如果您在所有控制器中使用它,请使用外观

let backImg: UIImage = UIImage(named: "img_name")!
UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)