iOS 实现全屏滑动功能

2015-09-15  本文已影响0人  为meng想前行

    在iOS 中,系统默认的滑动返回功能得要点击左侧边缘位置,给用户的体验非常不好。在这边文章里给朋友们分享下,全屏滑动的功能,它能在屏幕的任何位置点击拖动后,返回上一个界面。

    系统的滑动手势触发的时候,会调用Target的action,去做滑动返回的事情(action)。利用运行时获取属性名,只能获取当前类下的所有属性名,并不能获取它的子类或者父类。怎么通过运行时机制获取属性值,首先得要获取属性的名,通过KVC获取值。获取target,需要使用运行时机制,遍历出类里面所有属性名。

unsigned int count  = 0;

// 获取UIGestureRecognizer里所有的成员属性

Ivar *ivars = class_copyIvarList([UIGestureRecognizer class], &count);

for (int i = 0; i < count; i++) {

// 获取成员属性

Ivar ivar =  ivars[i];

// 获取成员属性的属性名

NSString *name =  @(ivar_getName(ivar));

NSLog(@"%@",name);

}

偏历后分别得到属性:_targets  _target

拿属性后给它相应的对象,用KVC赋值。

最后添加手势到当前的控制器view上,一切就OK了。(有改动请看后续分解,时间来到1点半休息咯)

上一篇 下一篇

猜你喜欢

热点阅读