UILongPressGestureRecognizer中的While循环不起作用

马丁

长按视图时,我试图调整textField的位置,但是由于某些原因,while循环永远不会停止运行。我的代码如下所示:

func buttonLongPressed(gestureRecognizer:UIGestureRecognizer){
    if textEdit.editing == true{
    self.textEdit.endEditing(true)
    }
    while gestureRecognizer.state == UIGestureRecognizerState.Began{
    println("BEGAN")
    self.textEdit.frame = CGRectMake(0, gestureRecognizer.locationInView(self.view).y, self.view.frame.width, 44)

    }
}

我不明白为什么这不起作用,以及如何以其他方式做到这一点。

任何建议,将不胜感激。

尼尔斯伯特

手势识别器会在状态更改时调用您的操作方法-从while循环中轮询状态无效,它永远不会更改。

它可能像这样工作:

  • 事件从触摸屏发送,并带有唤醒应用程序的信号。
  • 手势识别器查看排队的事件并决定进入“开始”状态。
  • 手势识别器代码将调用您的操作方法(buttonLongPressed),您的代码将进入一会儿外观并重复读取gestureRecognizer.state

您可以看到,如果您的操作方法永不返回,则手势识别器将永远不会再次唤醒并查看新的输入。

您可能可以像这样更改功能:

func longPressAction( g:UILongPressGestureRecognizer )
{
    switch g.state
    {
        case: .Changed
        {
            // handle one drag update... but don't loop
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

while循环在Java中不起作用

来自分类Dev

While循环不起作用

来自分类Dev

While循环不起作用

来自分类Dev

Java中的嵌套while循环不起作用

来自分类Dev

为什么在plsql中的while循环不起作用?

来自分类Dev

使用Ajax调用的while循环在javascript中不起作用

来自分类Dev

我的While循环在python中不起作用

来自分类Dev

while read 循环在别名中不起作用

来自分类Dev

为什么 C 中的这个 while 循环不起作用?

来自分类Dev

while 循环在文件复制中不起作用

来自分类Dev

For 和 while 循环在全局定义的函数中不起作用

来自分类Dev

为什么下面代码中的while循环不起作用?

来自分类Dev

PHP 函数“...几天前”在“While 循环”中不起作用

来自分类Dev

For 循环不起作用但 while 循环起作用

来自分类Dev

Realloc在while循环中不起作用

来自分类Dev

使用if语句的while循环不起作用

来自分类Dev

通过XPathNodeIterator的while循环不起作用

来自分类Dev

StreamReader的While循环不起作用

来自分类Dev

while循环更新查询不起作用

来自分类Dev

jQuery while循环不起作用

来自分类Dev

/ while循环不起作用吗?

来自分类Dev

C- While循环不起作用

来自分类Dev

Python while循环迭代不起作用

来自分类Dev

为什么while循环不起作用?

来自分类Dev

简单的while循环不起作用

来自分类Dev

Implode() 在 While 循环中不起作用

来自分类Dev

C# while 循环不起作用

来自分类Dev

在while循环内查询不起作用

来自分类Dev

PHP While循环中的While循环不起作用