需求是:点击返回按钮,自动保存设定,然后返回前一个画面,返回按钮必须使用带左箭头的那种,用过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方法中实现杰克
分享到:
相关推荐
self.navigationItem.leftBarButtonItem = [self.left addLeft]; self.left.left.selected = NO; [self.left .left addTarget:self action:@selector(leftclick:) forControlEvents:UIControlEventTouchUpInside]; ...
titleView会根据leftBarButtonItem和rightBarButtonItem调整自己的位置和大小。这就产生了居中显示的问题,当rightBarButtonItem没有被设置的时候,titleView由于偏大而靠右显示。此时可以设置rightBarButtonItem,...
在进入第二级页面后返回按钮leftButtonItem的title就会变得很长,对NavigationBar空间占用很大,而且不美观,于是使用代码对leftButtonItem的title文本进行修改,无论是设置self.navigationItem.leftBarButtonItem....
self.navigationItem.leftBarButtonItem = [[ETFlatBarButtonItem alloc] initCustomButtonWithImage:[UIImage imageNamed:@"cancel-32"] frame:CGRectMake(-6, 0, 48.0, 36.0) insets:UIEdgeInsetsMake(5.0, 11.0,...
YZionIconsHelper 一些类和类别有助于更轻松地使用 Ion Icons(sweetmandm/ionicons-...self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[IonIcons imageWithIcon:icon_navicon
当你重写 self.navigationItem.leftBarButtonItem 之后,自带的返回按钮就会被覆盖,右滑返回就会失效,解决办法只要加入下面这句代码即可。 - (void)viewDidLoad { [super viewDidLoad]; // 解决右滑返回失效...
self.navigationController.navigationItem.leftBarButtonItem = [UIBarButtonItem itemWithTitle:@" :grinning_face_with_smiling_eyes: " NorImage:nil HigImage:nil Target:self Action:@selector(leftIt
leftBarButtonItem与backBarButtonItem的区别 - http://blog.csdn.net/moon_prince2013/article/details/49079251 ViewController中[self setTtile]与[self.navigationItem setTitle]的区别 - ...
先给大家展示下效果图: 1.简介 使用苹果手机,最喜欢的就是用它的滑动返回.作为一个开发者,我们在...self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@王俨 style:UIBarButtonIte
leftBarButtonItem与backBarButtonItem的区别 - http://blog.csdn.net/moon_prince2013/article/details/49079251 ViewController中[self setTtile]与[self.navigationItem setTitle]的区别 - ...
self.navigationItem.titleView=av;在AppDelegate.m 创建一个导航栏 ViewController *nc=[[ViewController alloc]init]; UINavigationController *vc=[[UINavigationController alloc]initWithRootViewController...
navigationItem.leftMargin = 0 ; navigationItem.rightMargin = 0 ; 哇,保证金已经消失了。 即使您可以这样做: navigationItem.leftMargin = 50 ; navigationItem.rightMargin = 20 ; 看起来很丑但是可以用。...
[_badge2 addToBarButtonItem:self.navigationItem.rightBarButtonItem]; //TabBarItem上加角标 _badge3 = [[LFBadge alloc] init]; [_badge3 addToTabBarItem:self.tabBarItem]; //赋值 //@"0"或者nil隐藏...
UITabBarController的简单使用 常规的UITabBarController; 带有自定义按钮的UITabBarController,根据开源中国iOS客户端源码精简获取;...设置一致的标题或者通过self.navigationItem.title设置控制器的title;
navigationItem中包含leftBarButtonItem,rightBarButtonItem,backBarButtonItem,title和prompt等属性 UINavigation中的按钮其实就以前学过的UIBarButtonItem中的按钮,系统自带大概右20种左右,当然你也可以自己定义...
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; UIVibrancyEffect *vibrancyEffect = [UIVibrancyEffect ... self.navigationItem.rightBarButtonItem =self.editButtonItem;
wid_ctrl.navigationItem.title = @"扫瞄二维码"; wid_ctrl.hidesBottomBarWhenPushed = YES; NSURL *file_url = [[NSURL alloc] initFileURLWithPath:[NSString main_bundle_file_path:@"beep-beep.caf"]]; wid...
但是,如果自定义了navigationItem的leftBarButtonItem,那么这个手势就会失效。) 在A界面: - (void)viewDidAppear:(BOOL)animated { self.navigationController.interactivePopGestureRecognizer.delegate = (id...
本库用于实现UINavigationBar背景渐变过渡动画。 可能会遇到的问题 UINavigationBar 上的一个系统 bug ( An apple bug on the UINavigationBar) bug 描述:导航右滑返回手势,概率性的... self.navigationItem.right
主题切换就是根据用户设置不同的主题,来动态改变用户的界面,通常会改变navigationBar背景图片、tabBar背景图片、tabBar中的按钮的图片和选中的背景图片、navigationItem.title 标题的字体颜色、UI中其他元素控件 ...