美文网首页君赏博客
学习UISCREENEDGEPANGESTURERECOGNIZ

学习UISCREENEDGEPANGESTURERECOGNIZ

作者: 君赏 | 来源:发表于2016-12-07 14:30 被阅读403次

    学习UIScreenEdgePanGestureRecognizer手势

    最近几天一直搞首页的框架,看了一些轮子,发现和我们的首页不一样。但是却发现UIScreenEdgePanGestureRecognizer这个类,就研究一下。

    禁止在TVOS上面使用这个手势

    UIScreenEdgePanGestureRecognizer寻找在屏幕边缘附近开始平移(拖动)手势。 在一些情况下,系统使用屏幕边缘手势来启动视图控制器转换。 您可以使用此类为您自己的操作复制相同的手势行为。

    看苹果官方文档的意识就是 我们平时使用UINavigationController可以从屏幕的左边移动返回POP到上一个界面的哪一个手势。

    在创建屏幕边缘平移手势识别器之后,在将手势识别器附加到视图之前,向edge属性分配适当的值。 您可以使用此属性来指定手势可以从哪些边缘开始。 该手势识别器忽略第一触摸之外的任何触摸。

    设置的属性

    var edges: UIRectEdge { get set }
    

    手势的可接受的起始边缘。

    top: 从上面开始拖动

    left: 从左边开始拖动

    right: 从右边开始拖动

    bottom:从下面开始拖动

    all: 可以识别四个方向

    您指定的边缘总是相对于应用程序的当前界面方向。 此行为确保手势始终出现在用户界面中的相同位置,而不考虑设备的当前方向。

    我们新建一个例子试一下。

    添加手势到试图上面

    let screenEdgePanGesture = UIScreenEdgePanGestureRecognizer(target: self, action:#selector(ViewController.screenEdgePanGestureClick(gesture:)))
    screenEdgePanGesture.edges = UIRectEdge.left
    self.view.addGestureRecognizer(screenEdgePanGesture)
    
    func screenEdgePanGestureClick(gesture:UIScreenEdgePanGestureRecognizer)  {
        print("screenEdgePanGestureClick")
    }
    

    这样我们从屏幕的边缘从左向右移动就会执行我们的事件了。我们可以根据我们的实际情况设置对应的方向。

    Demo下载

    相关文章

      网友评论

        本文标题:学习UISCREENEDGEPANGESTURERECOGNIZ

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