在UICollectionView中点击按钮时,将字段显示为UITextField

时间:2017-06-18 12:10:49

标签: swift uicollectionview uitextfield

我需要你的帮助才能了解如何在按下按钮时与UITextField进行互动。

这是我ViewController中的代码:

override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
{
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! MyCollectionViewCell

    cell.addBookTapped.addTarget(self,action: #selector(buttonTapped(_:)),for: .touchUpInside)
    cell.configureCell(with: books[indexPath.row], indexCell: indexPath.row )

    return cell
}

func buttonTapped(_ sender: UIButton)
{
    let tag = sender.tag
    //Do Stuff
}

在我的MyCollectionViewCell中,我配置了所有按钮和textView并在我的按钮中添加标记:

@IBOutlet weak var myTextFielThatIWantToFieldWhenButtonTapped: UITextField!

在我ViewController内的func buttonTapped内,我无法联系到myTextFielThatIWantToFieldWhenButtonTapped

当点击按钮并直接在视图上可见时,如何在其中写入内容?

1 个答案:

答案 0 :(得分:1)

您必须通过在{1}}的特定单元格中调用cellForItem来获取您想要的单元格,如下所示:(例如,您的单元格位于第0项第0项)

indexPath

然后您可以访问单元格类中的变量:

let indexPath = IndexPath(item: 0, section: 0)
let cell = collectionView.cellForItem(at: indexPath) as? YourCustomCollectionViewCellClass