以上图片是我想要实现的目标。我有完整的设计,但平移手势功能尚未完成。我想做的是让用户上下滑动来调整每列的级别。我想为蓝色条指定一半屏幕(垂直分割),另一半指定红色。如果用户在屏幕右侧向上拖动他们的手指,红色条将增加并且蓝色条减少(通过减少我的意思是“条消失”)。如果用户在左侧向上拖动他们的手指,则相同。如果用户向下拖动他们的手指,则会发生相反的情况,他们拖动的一侧的条纹会减少,而另一侧的条纹会增加。
您能否就我如何处理此设计向我提供一些反馈。书面代码或sudo代码将非常感谢!!
谢谢!!!
答案 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)
}
}