[英]How to switch between views using Pan Gesture Recognizer in iOS?
[英]Using iOS pan gesture to highlight buttons in grid
到目前为止,我有一个按钮网格,并在视图中附加了一个平移手势识别器。 我可以跟踪事件并获取手指移动的位置,但是似乎没有等效的“ mouseEnter”消息来获取有关其他按钮的信息或控制其他按钮的属性(例如突出显示)我过去了
我想念什么吗? 例如,当用户的手指悬停在他们的手指上时,我该如何突出显示这些按钮? 可可接触是否支持这一点或必须做些其他事情?
谢谢。
没错,没有这样的事件。 UIButton事件也不会帮助您,因为这些事件需要实际开始内部手势。 您可以做的是获取当前拖动点的位置:
func panDetected(sender : MoreInformativeGestureRecognizer) {
let touchPoint = sender.locationInView(self.view)
}
现在,有了点之后,就可以遍历所有按钮,并检查点是否在按钮内:
let buttons = [UIButton]
let lastActiveButton = UIButton?
...
// Iterate through all the buttons
for button in buttons {
// Check area of the button against your touch
if CGRectContainsPoint(button.frame, touchPoint) {
// You are inside the touch area of the button
// Here, you can for example perform some action if you want, store information
// about the button so you don't do it multiple times etc.. your call :)
self.lastActiveButton = button
}
}
通过这种方式,您可以检测到然后进出并执行事件所需的任何操作。 希望能帮助到你!
UIButton继承自具有多个事件的 UIControl
你尝试过吗? 您可以通过nib / storyboard或通过代码将侦听器添加到这些事件中(请看下面的讨论以了解如何执行此操作)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.