美文网首页
初试iOS的继承

初试iOS的继承

作者: QihuaZhou | 来源:发表于2016-03-04 22:57 被阅读1393次

背景

不知道大家有没有这种感觉,iOS写了有一段时间了,但是似乎一直都在使用现成的一些框架,有时候想试着自己写一个类,好像又不容易实现,更别提自己开发一个第三方库了。
那么今天我们就来以UIViewController为例子,以它为基础,来实现一个自己的类BaseViewController,这个BaseViewController可以用作之后其它UIViewController的父类,我们继承它之后,可以像书上说的那样使用父类的方法,以简化逻辑代码。

Demo

下面跟着一个demo来一起实现一下,这个demo的代码,大家如果觉得有用,也可以拿来用到自己的工程中去哦~

  1. 首先我们随意新建一个工程,选择Single View Application就好


    Single View Application工程
  2. 然后创建自己的类,选择新建Cocoa Touch Class类


    新建Cocoa Touch Class类
  3. 类名如开始所说的为BaseViewController,注意选择Subclass of:UIViewController,iOS中的Controller部分通常都是基于UIViewController的吧~


    BaseViewController
  4. 创建好BaseViewController后,我们在其中增加一个手势方法
    在ViewDidLoad中加入如下代码:

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    
    //右移侧滑返回手势
    UISwipeGestureRecognizer *rightSwipeGestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipes:)];
    rightSwipeGestureRecognizer.direction = UISwipeGestureRecognizerDirectionRight;
    
    [self.view addGestureRecognizer:rightSwipeGestureRecognizer];
}

我们在ViewDidLoad中加入了一个侧滑的手势,回调函数是handleSwipes

5.回调函数handleSwipes代码如下:

- (void)handleSwipes:(UISwipeGestureRecognizer *)sender
{
    [self dismissViewControllerAnimated:YES completion:nil];
}

handleSwipes回调中执行的是消去当前页面,一个很简单的dismiss操作。

使用

之后在其它类中#import "BaseViewController.h",并且在新建类的时候继承BaseViewController就能使用到侧滑手势的特性啦!

新建类时继承BaseViewController

之后在任何继承BaseViewController的页面中,只要轻轻侧滑手指,页面就会dismiss,挺神奇的不是吗?

总结

这次我们以一个小demo的方式初步讲述了如何创建和继承一个自己的类,具有一定的实用价值,希望大家能喜欢。感谢大家的阅读!你们的支持,是我更新的动力!
欢迎转载,请注明出处。

相关文章

网友评论

      本文标题:初试iOS的继承

      本文链接:https://www.haomeiwen.com/subject/dviokttx.html