博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
统一添加导航控制器右滑返回手势
阅读量:6690 次
发布时间:2019-06-25

本文共 2024 字,大约阅读时间需要 6 分钟。

  hot3.png

一、新建一个控制器,继承UINavigationController

    213032_Pcs6_1444783.png

二、右滑手势代码

- (void)viewDidLoad{    [super viewDidLoad];        // 添加右滑手势    [self addSwipeRecognizer];}#pragma mark 添加右滑手势- (void)addSwipeRecognizer{    // 初始化手势并添加执行方法    UISwipeGestureRecognizer *swipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(return)];        // 手势方向    swipeRecognizer.direction = UISwipeGestureRecognizerDirectionRight;        // 响应的手指数    swipeRecognizer.numberOfTouchesRequired = 1;        // 添加手势    [[self view] addGestureRecognizer:swipeRecognizer];}#pragma mark 返回上一级- (void)return{    // 最低控制器无需返回    if (self.viewControllers.count <= 1) return;        // pop返回上一级    [self popToRootViewControllerAnimated:YES];}

三、然后只要在AppDelegate中将自定义的导航控制器设置为根控制器

#import "AppDelegate.h"#import "MainViewController.h"#import "FirstViewController.h"@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    // 初始化一个控制器    FirstViewController *first = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];        // 初始化自定义的导航控制器    MainViewController *main = [[MainViewController alloc] initWithRootViewController:first];        // 把自定义的导航控制器设置为根控制器    self.window.rootViewController = main;        self.window.backgroundColor = [UIColor whiteColor];    [self.window makeKeyAndVisible];    return YES;}

四、统一成一个导航控制器可以统一一些东西

    1、统一导航栏样式

self.navigationBar.barTintColor = [UIColor whiteColor];

    2、若在控制器之间跳转时需要做一些事情,可在自定义的控制器里添加下面两个方法

#pragma mark push方法- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{    // do something you want    ...        [super pushViewController:viewController animated:animated];}#pragma mark pop方法- (UIViewController *)popViewControllerAnimated:(BOOL)animated{    // 比如停止网络请求    ...        return [super popViewControllerAnimated:animated];}

转载于:https://my.oschina.net/cobish/blog/225260

你可能感兴趣的文章
【java_web】web批量分页打印
查看>>
跟益达学Solr5之Facet一瞥
查看>>
Data truncation: Out of range value
查看>>
Java中throws和throw的区别讲解
查看>>
Linux TOP命令详解
查看>>
不算完美的实现了自动化部署的进度实时更新
查看>>
Android2.2 API 中文文档系列(4) —— Manifest
查看>>
js 克隆
查看>>
Spring Boot:Data Rest Service
查看>>
二叉树学习笔记之经典平衡二叉树(AVL树)
查看>>
[C/C++基础知识] 一篇就让你彻底搞懂qsort快速排序的文章
查看>>
Dubbo架构设计详解
查看>>
JMeter基础之一 一个简单的性能测试
查看>>
磁带机Media is unrecognized
查看>>
DH密钥交换非对称加密
查看>>
程序员的量化交易之路(19)--Cointrader之Bar实体(7)
查看>>
存储过程中用到的年,月,周的函数
查看>>
IE7下元素的 'padding-top' 遇到 'clear' 特性在某些情况下复制到 'padding-bottom'
查看>>
IOS开发--常用工具类收集整理(Objective-C)(持续更新)
查看>>
[Android]getevent,sendevent,input命令的使用
查看>>