让navigationItem.leftBarButtonItem具有backBarButtonItem的外观样式

来源:互联网 发布:雷神之锤linux版下载 编辑:程序博客网 时间:2024/06/05 01:00
需求是:点击返回按钮,自动保存设定,然后返回前一个画面,返回按钮必须使用带左箭头的那种,用过iOS的都懂的。 

我一开始用的是iOS默认的backBarButtonItem, 但是发现它不能接收事件(Action),即便我设置了target以及Action也完全不起作用。 用leftBarButtonItem吧,倒是可以接收事件了,但是样式无法成为返回按钮那种箭头样子。 

苦恼, 最后多次尝试,网上也翻了N遍终于找到了一种方法: 

不需要额外制作图片,代码如下: 

UIButton *backButton = [UIButton buttonWithType:101];[backButton addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];[backButton setTitle:cancelText forState:UIControlStateNormal];    UIBarButtonItem *backItem = [[[UIBarButtonItem alloc] initWithCustomView:backButton] autorelease];self.navigationItem.leftBarButtonItem = backItem;


注意第一行的101,就是有箭头的UI样式。


转自:http://woniu1983.iteye.com/blog/1782856