需求是:点击返回按钮,自动保存设定,然后返回前一个画面,返回按钮必须使用带左箭头的那种,用过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;
保存或者其他Action在back方法中实现杰克
分享到:
相关推荐
3. 自定义样式:如果需要自定义Item的外观,如颜色、字体、图片等,可以在封装方法中加入这些定制逻辑。 通过这样的封装,我们可以有效地管理和控制导航栏Item,使代码结构更加清晰,同时提高了开发效率。在实际...
navigationItem.leftBarButtonItem = backBarButtonItem ``` 5. **隐藏和显示NavigationBar** 有时候,你可能希望在某些场景下隐藏或显示navigationBar。这可以通过`isHidden`属性实现: ```swift ...
self.navigationItem.backBarButtonItem = item; ``` #### 三、设置导航栏左右两侧按钮 除了设置标题外,还可以通过导航控制器来添加导航栏左右两侧的按钮,从而实现更丰富的功能。 1. **使用系统提供的图标**:...
2. 如果希望返回按钮不仅有文字,还具有特定样式,例如设置图片,可以创建一个自定义的`UIBarButtonItem`。如下所示,我们可以创建一个带有“返回”文字和动作的按钮: ```swift let backButton = UIBarButtonItem...
3. **自定义返回按钮**:默认的返回按钮是系统提供的,但可以通过设置`navigationItem.leftBarButtonItem`或`navigationItem.backBarButtonItem`来自定义。 4. **拦截导航操作**:可以重写`pushViewController:...
当需要配置NavigationItem时,可以设置leftBarButtonItem、rightBarButtonItem、backBarButtonItem、title以及prompt等属性。其中,leftBarButtonItem、rightBarButtonItem和backBarButtonItem都是UIBarButtonItem...
在A控制器中push到B控制器时,我们可以在A控制器中设置`self.navigationItem.backBarButtonItem`,以定制B控制器显示的返回按钮文字,如以下代码所示: ```swift self.navigationItem.backBarButtonItem = [...
navigationItem.backBarButtonItem = backBtn ``` 这段代码创建了一个无文本的`UIBarButtonItem`,并将其设置为当前控制器的`backBarButtonItem`,这样当此控制器被推入导航栈时,其父控制器的返回按钮就会显示为...
self.navigationItem.leftBarButtonItem = backItem; ``` 3. 在B页面中,重新启用交互式弹出手势,使得右滑返回功能生效: ```objc self.navigationController.interactivePopGestureRecognizer.enabled = YES;...
- **更改外观**: 使用`tintColor`属性可以改变按钮的前景色,`backIndicatorTransitionMaskImage`和`backBarButtonItem`则用于自定义返回按钮的样式。 总之,`UIBarButtonItem`在iOS开发中扮演着不可或缺的角色,它...
- `backBarButtonItem`:定义返回按钮的样式,当从当前视图控制器返回上一个视图控制器时显示。 - `title`:设置导航栏中央的标题文本。 - `prompt`:提供额外的提示信息,设置后会导致导航栏高度增加30像素至74...