将Obj-c转换为快速长按手势

肯尼VB

我似乎无法使它正常工作,我试图在uicollectionview上植入长按手势,以便在SO此处找到此代码,现在我只需要将其转换为swift,就可以使用它了。

obj-c

-(void)handleLongPress:(UILongPressGestureRecognizer *)gestureRecognizer
{
    if (gestureRecognizer.state != UIGestureRecognizerStateEnded) {
        return;
    }

    CGPoint p = [gestureRecognizer locationInView:self.collectionView];

    NSIndexPath *indexPath = [self.collectionView indexPathForItemAtPoint:p];
    if (indexPath == nil){
        NSLog(@"couldn't find index path");
    } else {
        // get the cell at indexPath (the one you long pressed)
        UICollectionViewCell* cell =
            [self.collectionView cellForItemAtIndexPath:indexPath];
        // do stuff with the cell
    }
}

我的方法很快

func handleLongPress(gestureRecognizer: UILongPressGestureRecognizer){
    if (gestureRecognizer.state != UIGestureRecognizerState.Ended){
        return
    }

    let p: CGPoint = gestureRecognizer.locationInView(self.collectionView)
    let indexPath: NSIndexPath = self.collectionView.indexPathForItemAtPoint(p)!
    if (indexPath == nil) {      // Error here 'NSIndexPath' is not convertible to 'UIGestureRecognizerState'
        println("couldn't find index path")

    } else {
        let cell: UICollectionViewCell = self.collectionView.cellForItemAtIndexPath(indexPath)
    }
}

感谢您的帮助,如果(indexPath == nil)错误'NSIndexPath'无法转换为'UIGestureRecognizerState',该操作将失败

rakeshbs

尝试使用可选的绑定来查找是否optional包含一个值。indexPathForItemAtPoint返回一个可选值。

if let indexPath = self.collectionView.indexPathForItemAtPoint(p)
{
    let cell: UICollectionViewCell = self.collectionView.cellForItemAtIndexPath(indexPath)
}
else
{
     println("couldn't find index path")
}

在Apple的速成书籍中了解有关可选配件的信息。https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID309

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将触摸和手势从UIScrollview转发到视图

来自分类Dev

将滑动手势添加到UITableView

来自分类Dev

Objective-C:将字符串参数传递给手势@selector

来自分类Dev

可以将Obj-C AXObserverCallback转换为Swift吗?

来自分类Dev

将.obj转换为.js文件

来自分类Dev

将多个参数传递给手势识别器

来自分类Dev

使用Python FBX SDK将* .obj转换为* .fbx

来自分类Dev

点击按钮并长按手势

来自分类Dev

将Linq表达式“ obj => obj.Prop”转换为“父=> parent.obj.Prop”

来自分类Dev

将多个文件从.LWO转换为.OBJ或类似文件

来自分类Dev

将CSV文件转换为嵌套的JSON obj

来自分类Dev

如何将USDC转换为OBJ

来自分类Dev

如果快速触发按钮上的长按手势,如何获取按钮文本?

来自分类Dev

Obj-C-点按手势可在imageview中返回RGB颜色并返回不正确的颜色?

来自分类Dev

将Javascript日期从日期值转换为日期obj

来自分类Dev

将平移手势识别器限制为imageview

来自分类Dev

F#将obj [,]强制转换为float [,]

来自分类Dev

将字符串转换为JSON obj或数组JavaScript

来自分类Dev

将datetime obj转换为可识别时区的datetime

来自分类Dev

将代码从swift转换为obj c

来自分类Dev

将obj std转换为模型laravel DB :: query

来自分类Dev

将.obj转换为.js文件

来自分类Dev

将Obj-C转换为Swift ep1

来自分类Dev

将特殊字符串转换为json obj

来自分类Dev

如何将通用区分联盟转换为obj

来自分类Dev

将 initWithCoder: implementation 转换为 Swift 时不会触发手势识别器选择器

来自分类Dev

如何将手势识别器添加到 viewModel C#

来自分类Dev

如何将 osgjs 格式转换为 obj 或类似格式?

来自分类Dev

使用 FreeCAD python 将 .OBJ 文件转换为 STL

Related 相关文章

热门标签

归档