标签视图在刷卡时应显示数组中的下一个项目(就像文本字符串一样)。所以,我创建了初始值为0的数组索引,并在函数内引用了它。 但是,当刷标签时,索引不会更新。很高兴了解如何在刷标签时更新索引。我也尝试将index var放在函数中,但它也没有用。这是代码。感谢。
import UIKit
class ViewController: UIViewController
{
@IBOutlet var result: UILabel!
var index: Int = 0
var items: [String] = ["apple", "hammer", "cup"]
let swipeRec = UISwipeGestureRecognizer()
override func viewDidLoad() {
super.viewDidLoad()
swipeRec.addTarget(self, action: "swipedView")
result.addGestureRecognizer(swipeRec)
result.userInteractionEnabled = true
}
func swipedView () {
result.text = "\(items[index])"
index++
}
}
答案 0 :(得分:0)
在viewDidLoad
中 var leftSwipe = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes:"))
var rightSwipe = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes:"))
leftSwipe.direction = .Left
rightSwipe.direction = .Right
result.addGestureRecognizer(leftSwipe)
result.addGestureRecognizer(rightSwipe) viewDidLoad
result.userInteractionEnabled = true
func handleSwipes(sender:UISwipeGestureRecognizer) {
if (sender.direction == .Left) {
println("Swipe Left")
if index > 0 { index -= 1}
}
if (sender.direction == .Right) {
println("Swipe Right")
if index < (items.count - 1) { index += 1}
}
println(items[index])
result.text = items[index]
}
答案 1 :(得分:0)
这对我有用。在真正的iPhone 4s上测试过。
@IBOutlet var result: UILabel!
var index: Int = 0
var items: [String] = ["apple", "hammer", "cup"]
override func viewDidLoad() {
super.viewDidLoad()
var leftSwipe = UISwipeGestureRecognizer(target: self, action: "swipedView:")
var rightSwipe = UISwipeGestureRecognizer(target: self, action: "swipedView:")
leftSwipe.direction = .Left
rightSwipe.direction = .Right
result.addGestureRecognizer(leftSwipe)
result.addGestureRecognizer(rightSwipe)
result.userInteractionEnabled = true
result.text = items[index]
}
func swipedView(sender:UISwipeGestureRecognizer!) {
if (sender.direction == .Left) {
println("Swipe left")
if index > 0 {
index -= 1
}
}
if (sender.direction == .Right) {
println("Swipe right")
if index < (items.count - 1) {
index += 1
}
}
result.text = items[index]
}
当我们将UISwipeGestureRecognizer添加到结果UILabel时,请确保标签具有允许我们制作手势的必要大小,以及是否要滑动标签而不是背景视图。 HMHero提供的解决方案也适用于我。
希望有所帮助。
答案 2 :(得分:0)
原始发布的代码对我有用。请务必指定您希望用户使用的方向。方向默认为向右滑动。