gpt4 book ai didi

ios - Swift3无法在另一个类中实现该功能

转载 作者:行者123 更新时间:2023-11-29 00:32:09 26 4
gpt4 key购买 nike

我在 classA 中添加了用于向上滑动的手势,如果向上滑动,则必须调用 classB 中可用的函数,而在 classA 中调用 classB 函数时,该函数被调用,但 classB 中未进行 UI 更改。

提前致谢

class A: UIViewController {

var swipeUp = UISwipeGestureRecognizer()
override func viewDidLoad() {
super.viewDidLoad()

swipeUp = UISwipeGestureRecognizer(target: self, action: #selector(self.respondToSwipeGestureUp))
swipeUp.direction = UISwipeGestureRecognizerDirection.up
self.view.addGestureRecognizer(swipeUp)
}

func respondToSwipeGestureUp(gesture: UIGestureRecognizer) {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
switch swipeGesture.direction {

case UISwipeGestureRecognizerDirection.up:
UserDefaults.standard.set("open", forKey: "status")
UserDefaults.standard.synchronize()
print("Swiped up")
B().moveUp()
default:
break
}
}
}
}

class B: UIViewController {

func moveUp() {

let status = UserDefaults.standard.object(forKey: "status") as! String
if status .isEqual("open")
{
let fullView1: CGFloat = 100
self.view.frame = CGRect(x: 0, y: fullView1, width: self.view.frame.width, height: self.view.frame.height)

}
else
{

}
}
}

最佳答案

B 类 UI 不会更改,因为您没有在导航上显示 B Controller 。我的意思是说,如果您的 Controller A 当前出现在屏幕上并且在 SwipeGesture 事件中,您将使用不存在的 Controller B 更新 UI还出现在屏幕上。您为什么要这样做以及您何时推送 Controller B。我希望你能得到答案。

关于ios - Swift3无法在另一个类中实现该功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41478824/

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