我正在使用滑动手势识别器通过向上滑动和向下滑动来增加和减少我的计数器。
当我向上滑动时,我也将我的标签偏移+10,而当我向下滑动时,我的标签偏移了-10。
一切都很好但是一旦我向上滑动,我的标签偏移就会回到0。 我的目标是只要我向上滑动就将偏移量保持在+10。 这是我的代码:
DT[, .SD[(which(!is.na(value))[1]):.N], by = group]
## group date value
## 1: a 2015-01-02 2
## 2: a 2015-01-03 3
## 3: a 2015-01-04 NA
## 4: a 2015-01-05 2
## 5: b 2015-01-03 2
## 6: b 2015-01-04 NA
## 7: b 2015-01-05 2
问题:
答案 0 :(得分:1)
正如我从您的问题中了解到的那样,当您向上滑动时,您希望存储+10值,并且您可以在全局范围内将increment
和offset
全局声明为类,如下所示:
class ViewController: UIViewController {
//Declare it below your class declaration
var increment = 0
var offset: CGFloat = 0
}
在你的代码中,你将这两个变量声明为handleSwipes
函数,这样当你调用这个函数时它将变为0,你的偏移量总是变为+10或-10但是一旦你将它全局声明为类一旦它到达它就会保持它的值。如果你想在每次handleSwipes
函数调用时增加它,那么你可以这样做:
offset += 10
offset -= 10
同样的事情会发生在您的increment
变量上,您可以根据需要更改它,之后您可以通过这种方式将标签位置更改为handleSwipes
函数:
yourLbl.center = CGPoint(x: yourLbl.center.x, y: yourLbl.center.y + offset)
您的handleSwipes
功能将是:
func handleSwipes(sender:UISwipeGestureRecognizer) {
// up or down
if sender.direction == .Up {
increment = 1
offset += 10
println(offset)
yourLbl.center = CGPoint(x: yourLbl.center.x, y: yourLbl.center.y + offset)
} else {
increment = -1
offset -= 10
println(offset)
yourLbl.center = CGPoint(x: yourLbl.center.x, y: yourLbl.center.y + offset)
}
}
希望这会有所帮助。