gpt4 book ai didi

ios - 当用户拖入 ios 的 swift 元素区域时如何触发不同的功能

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

我确信答案就在附近。我是 swift 的新手,想为 iOS 创建简单的应用程序。我创建了 View 并在此 View 上添加了不同的元素。还添加了为此 View 识别的平底锅。当用户将手指拖到不同的元素上时,我想执行不同的操作。例如,当手指进入按钮区域以在控制台中书写时,当拖动到标签区域时 - 更改标签的文本。也用这种类型实现了从键盘输入文本的滑动方法。它必须一键完成,这就是我使用 pan 识别器的原因。但是当我运行我的应用程序时,我可以获得手指位置,但不知道在需要时如何触发功能。希望得到您的帮助谢谢

class ViewController: UIViewController {

@IBOutlet var mainView: UIView!
@IBOutlet var gest: UIPanGestureRecognizer!
@IBOutlet var tap: UITapGestureRecognizer!
@IBOutlet weak var btn: UIButton!
@IBOutlet weak var btn2: UIButton!

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.view.addGestureRecognizer(self.gest)

}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.

}

@IBAction func drAG(_ sender: UIPanGestureRecognizer) {
print(sender.location(in: self.view))
}

最佳答案

看起来您几乎拥有所需的一切。现在,只需使用任何 View 层的 hitTest() 方法:

func moveEye(_ recognizer:UIPanGestureRecognizer) {
let p = recognizer.location(in: self)
if btn.layer.hitTest(p) != nil {
// finger panned over btn
}
}

我在一些应用程序中大量使用 hitTest()。但请注意 - 我通常会看到它与点击手势相关联。 (我使用平移手势来移动 subview 。)我不知道如果您有两个用户平移的重叠 subview ,事情会如何表现。

关于ios - 当用户拖入 ios 的 swift 元素区域时如何触发不同的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40694747/

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