【问题标题】:how to get the index path of a cell from a collection view, from a textfield using textFieldDidBeginediting如何从集合视图中获取单元格的索引路径,使用 textFieldDidBeginediting 从文本字段
【发布时间】:2015-09-02 22:26:14
【问题描述】:

我制作了一个包含文本字段的集合视图。我有 textFieldDidBeginEditing 工作。我已将单元格中的文本字段分配给 indexpath 中的项目作为委托。问题是我如何在下面的代码中选择的字段中获得indexPath.row?任何帮助将不胜感激

func textFieldDidBeginEditing(textField: UITextField)
{
    print("")
}

【问题讨论】:

    标签: swift collectionview


    【解决方案1】:

    您应该将 CGPoint(x: 0.0, y: 0.0) 转换为相对于集合视图的参考框架 (textField.convertPoint(point: yourZeroPoint, toView: yourCollectionView)) 的点,然后使用 yourCollectionView.indexPathForItemAtPoint 获取该点的 indexPath

    【讨论】:

    • func textFieldDidBeginEditing(textField: UITextField) { let zeroPoint = textField.convertPoint(textField.center, fromView: collview1) print(zeroPoint) print(collview1.indexPathForItemAtPoint(zeroPoint)) } // 我得到了指向文本字段但索引路径始终为零?知道如何解决这个问题
    • 我会说你搞错了——let point: CGPoint = textField.convertPoint(point: textField.center, toView: collview1); let indexPath: NSIndexPath? = collview1.indexPathForItemAtPoint(point); 注意toView 而不是fromView——你想要集合视图坐标空间中的点。
    • func textFieldDidBeginEditing(textField: UITextField) { let point: CGPoint = textField.convertPoint(textField.center, toView: collview1);让 indexPath:NSIndexPath? = collview1.indexPathForItemAtPoint(point) print(point) } // 不,仍然没有索引路径仍然返回 nil,坐标显示正确只是索引路径没有显示??
    【解决方案2】:
    func textFieldDidBeginEditing(textField: UITextField) {
    
       let point: CGPoint = textField.convertPoint(CGPointZero, toView: collview1);
    
    
        let indexPath:NSIndexPath? = collview1.indexPathForItemAtPoint(point)
    
        print(point)
        print(indexPath)
    
    }
    

    collview1 是一个集合视图出口

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多