背景
不知道大家有没有这种感觉,iOS写了有一段时间了,但是似乎一直都在使用现成的一些框架,有时候想试着自己写一个类,好像又不容易实现,更别提自己开发一个第三方库了。
那么今天我们就来以UIViewController为例子,以它为基础,来实现一个自己的类BaseViewController,这个BaseViewController可以用作之后其它UIViewController的父类,我们继承它之后,可以像书上说的那样使用父类的方法,以简化逻辑代码。
Demo
下面跟着一个demo来一起实现一下,这个demo的代码,大家如果觉得有用,也可以拿来用到自己的工程中去哦~
-
首先我们随意新建一个工程,选择Single View Application就好
-
然后创建自己的类,选择新建Cocoa Touch Class类
-
类名如开始所说的为BaseViewController,注意选择Subclass of:UIViewController,iOS中的Controller部分通常都是基于UIViewController的吧~
创建好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的页面中,只要轻轻侧滑手指,页面就会dismiss,挺神奇的不是吗?
总结
这次我们以一个小demo的方式初步讲述了如何创建和继承一个自己的类,具有一定的实用价值,希望大家能喜欢。感谢大家的阅读!你们的支持,是我更新的动力!
欢迎转载,请注明出处。