繁体   English   中英

使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM