swift - 双转换错误 tvOS
问题描述
我在 tvOS 平台上有过渡错误:当我按遥控器上的“进入”按钮两次时,我有两次过渡到下一个视图控制器。我已经在 ios 上解决了这个问题,如下所示:
class ViewController: UIViewController, UINavigationControllerDelegate {
var segueInProgress: Bool?
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.delegate = self
}
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
return segueInProgress == false
}
func navigateShow(to viewController: UIViewController, sender: Any? = self) {
if self.segueInProgress == true { return }
if let navigationController = self.navigationController {
navigationController.show(viewController, sender: sender)
} else {
self.show(viewController, sender: sender)
}
}
func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
// Or like this: self.view.isUserInteractionEnabled = false
self.segueInProgress = true
}
func navigationController(_ navigationController: UINavigationController, didShow viewController: UIViewController, animated: Bool) {
self.segueInProgress = false
// Or like this: self.view.isUserInteractionEnabled = true
}
}
但是在 tvOS 上这个解决方案不起作用,我不知道为什么。当我双击快速时,我有几个过渡。请帮忙
let detailVC: DetailViewController = DetailViewController.instantiateViewController()
navigateShow(to: detailVC)
解决方案
您可以在按下按钮后禁用该按钮,以防止用户双击,并确保如果您需要担心状态返回到您的 ViewController,您可以在 viewWillAppear 上启用它。
推荐阅读
- nginx - supervisor下的nginx无法打开conf文件
- javascript - 即使没有要显示的错误,jQuery Validation 也会为错误放置 span 元素
- algorithm - 对完全降序的数组进行排序时,快速排序效率低下是否正常?
- azure - Azure 服务总线 - 订阅消息一览
- java - 如何从adapter.java中的listview设置Onclick ImageView
- batch-file - 使用限制 CPU 使用优化脚本命令 FFMPEG
- swift - 在 AKSequencer 中调用随机 AKPlayers 并重复随机结果
- powershell - 从 Windows 命令提示符执行 PowerShell 脚本
- c# - SQLBulkCopy 和事务
- java - 意图作为 int 发送到另一个活动的 ID 始终为零