gpt4 book ai didi

swift 2 : Selector in UIPinchGestureRecognizer: How to access func from another class

转载 作者:行者123 更新时间:2023-11-28 11:04:28 24 4
gpt4 key购买 nike

我正在关注 this Swift 上的类(class)和构建应用程序。

在视频的 43:30,讲师教授如何设置 UIPinchGestureRecognizer,它从其选择器中的另一个文件中获取函数。
这是讲师使用的代码:

@IBOutlet weak var faceView: FaceView! {
didSet {
faceView.addGestureRecognizer(UIPinchGestureRecognizer(target: faceView, action: #selector(FaceView.changeScale(_:))))
updateUI()
}
}

我得到 2 个错误:

Expected expression in list of expressions,

和:

Expected ',' separator.

我曾尝试将 #selector 更改为 Selector 但没有成功。

函数changeScale:

func changeScale(recognizer: UIPinchGestureRecognizer)
{
switch recognizer.state {
case .Changed, .Ended:
scale *= recognizer.scale //scale is the displayed image scale
recognizer.scale = 1.0
default:
break
}

如果我用引号将 Selector 参数括起来,应用程序会在我捏合时崩溃,并出现以下错误:

unrecognized selector sent to instance.

最佳答案

我在 MacBook Air(版本 100.11.6)上运行 Xcode 8.1(8B62) 和 iPhone 5 模拟器

这是我使用的有效代码

faceView.addGestureRecognizer(UIPinchGestureRecognizer(target:faceView,

action:#selector(FaceView.changeScale(recognizer:))))

捏脸时,请确保单击“Option + 左键单击 + 在鼠标垫上移动”。我犯了一个错误,只是按下“鼠标垫上的 Option + 移动”,但它不起作用。

希望对您有所帮助。

关于 swift 2 : Selector in UIPinchGestureRecognizer: How to access func from another class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38952861/

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