Pan Gesture识别器(增加栏)swift

时间:2016-01-01 08:01:44

标签: ios swift

http://imgur.com/XHMBUdj

以上图片是我想要实现的目标。我有完整的设计,但平移手势功能尚未完成。我想做的是让用户上下滑动来调整每列的级别。我想为蓝色条指定一半屏幕(垂直分割),另一半指定红色。如果用户在屏幕右侧向上拖动他们的手指,红色条将增加并且蓝色条减少(通过减少我的意思是“条消失”)。如果用户在左侧向上拖动他们的手指,则相同。如果用户向下拖动他们的手指,则会发生相反的情况,他们拖动的一侧的条纹会减少,而另一侧的条纹会增加。

您能否就我如何处理此设计向我提供一些反馈。书面代码或sudo代码将非常感谢!!

谢谢!!!

1 个答案:

答案 0 :(得分:0)

将UIPanGestureRecognizer添加到两个条形图,然后根据移动调整条形图值。当然,您需要先看看手势开始点后面的哪个栏。条形图可以是位图或UIBezierPaths。要使更改看起来平滑,只需设置隐藏/显示条形图(颜色或alpha变化)。更详细的样本意味着为你做的工作,所以你只需要自己弄清楚其余部分。

let panGesture = UIPanGestureRecognizer(target: self, action: Selector("onPan:"))
barBackgroundView.addGestureRecognizer(panGesture)

func onPan(gestureRecognizer: UIPanGestureRecognizer) {
    let point = gestureRecognizer.locationInView(barBackgroundView)

    switch gestureRecognizer.state {
        case .Began:
            panStartPoint = point
        case .Changed:
            // Adjust the bars using panStartBarPoint.y + (point.y - panStartPoint.y)
    }
}