前提条件,存在A和B两个页面,一个是主界面,推到B
方法一:如果B页面的返回按钮要用自定义的按钮(在iOS7中,如果使用了UINavigationController,那么系统自带的附加了一个从屏幕左边缘开始滑动可以实现流行的手势。但是,如果自定义了navigationItem的leftBarButtonItem,那么这个手势就会失效)。
在一界面:
- (void) viewDidAppear:(BOOL)动画{ self.navigationController.interactivePopGestureRecognizer.delegate=(id)自我;//重新设置代理 self.navigationController.interactivePopGestureRecognizer.enabled=没有;//本页面不能右滑 }
在B里面:
设置返回按钮:
UIButton * backBtn=[UIButton buttonWithType UIButtonTypeCustom):; backBtn.frame=CGRectMake(35) 5、2、21日; [backBtn setImage:(界面图像imageNamed: @“返回”]forState: UIControlStateNormal); [[backBtn rac_signalForControlEvents UIControlEventTouchUpInside): subscribeNext: ^ (id x) { (自我。实现通过调用popViewControllerAnimated导航控制器:是的); }); UIBarButtonItem * backItem=[[UIBarButtonItem alloc] initWithCustomView backBtn):; self.navigationItem。leftBarButtonItem=backItem; self.navigationController.interactivePopGestureRecognizer.enabled=YES;//最重要的一步
方法二:在一个页面里面(一页面里面的backBarButtonItem其实就是我们看到的B页面的返回按钮,B页面的leftBar是左侧的按钮,注意优先级、B里面有自定义leftBar,显示B页面的,如果没有,看一个界面,如果里面有backBarButtonItem,显示,如果没有,就是系统默认的那个)
用户界面图像*图像=[界面图像imageNamed: @“返回”); UIBarButtonItem *项=[[UIBarButtonItem alloc] init); [项setBackButtonBackgroundImage:[形象resizableImageWithCapInsets: UIEdgeInsetsMake (0, image.size。宽度,0,0)]forState: UIControlStateNormal barMetrics: UIBarMetricsDefault]; 【项目setBackButtonTitlePositionAdjustment: UIOffsetMake (-400。f, 0) forBarMetrics UIBarMetricsDefault):; self.navigationItem。backBarButtonItem=项目; self.navigationItem。backBarButtonItem=项目;
我采用的是方法,一方法二我没有办法调整返回按钮的位置
以上所述是小编给大家介绍的iOS应用右滑返回操作的两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!