gpt4 book ai didi

ios - tvOS 上的 UISwipeGestureRecognizer 给我一个 EXC_BAD_ACCESS

转载 作者:搜寻专家 更新时间:2023-11-01 05:31:37 24 4
gpt4 key购买 nike

我正在尝试在 tvOS 应用中向我的 UIViewController 添加向上/向下滑动的手势代码。

    override func loadView() {
let swipeDown = UISwipeGestureRecognizer(
target: self,
action: #selector(self.respondToSwipeGesture)
)
swipeDown.direction = UISwipeGestureRecognizer.Direction.down
self.view.addGestureRecognizer(swipeDown)

let swipeUp = UISwipeGestureRecognizer(
target: self,
action: #selector(self.respondToSwipeGesture)
)
swipeUp.direction = UISwipeGestureRecognizer.Direction.up
self.view.addGestureRecognizer(swipeUp)
}

@objc private func respondToSwipeGesture(gesture: UIGestureRecognizer) {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
switch swipeGesture.direction {
case UISwipeGestureRecognizer.Direction.down:
print("Swiped down")
case UISwipeGestureRecognizer.Direction.up:
print("Swiped up")
default:
break
}
}
}

当我运行它时,我得到一个

Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffee7146fe8)

loadView 函数中的 let swipeDown 行。

我正在使用 Xcode 11。我在这里缺少什么?

最佳答案

是的,您的代码中也缺少 super.loadView(),您应该在 viewDidLoad 而不是 loadView 中创建手势。

  override func loadView() {
super.loadView() // ---> In this case always in the second line
let swipeDown = UISwipeGestureRecognizer(
target: self,
action: #selector(self.respondToSwipeGesture)
)
swipeDown.direction = UISwipeGestureRecognizer.Direction.down
self.view.addGestureRecognizer(swipeDown)

let swipeUp = UISwipeGestureRecognizer(
target: self,
action: #selector(self.respondToSwipeGesture)
)
swipeUp.direction = UISwipeGestureRecognizer.Direction.up
self.view.addGestureRecognizer(swipeUp)
}

@objc private func respondToSwipeGesture(gesture: UIGestureRecognizer) {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
switch swipeGesture.direction {
case UISwipeGestureRecognizer.Direction.down:
print("Swiped down")
case UISwipeGestureRecognizer.Direction.up:
print("Swiped up")
default:
break
}
}
}

关于ios - tvOS 上的 UISwipeGestureRecognizer 给我一个 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58179110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com