【问题标题】:Hide button in UICollectionView cellUICollectionView 单元格中的隐藏按钮
【发布时间】:2016-09-12 20:43:23
【问题描述】:

我正在以编程方式创建单元格并为每个单元格添加一个删除按钮。问题是我想切换他们的 .hidden 状态。这个想法是有一个编辑按钮,可以同时切换所有按钮的状态。也许我的做法是错误的?

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier("verticalCell", forIndexPath: indexPath) as! RACollectionViewCell
    let slide = panelSlides[indexPath.row]
    cell.slideData = slide
    cell.slideImageView.setImageWithUrl(NSURL(string: IMAGE_URL + slide.imageName + ".jpg")!)
    cell.setNeedsLayout()

    let image = UIImage(named: "ic_close") as UIImage?
    var deleteButton = UIButton(type: UIButtonType.Custom) as UIButton
    deleteButton.frame = CGRectMake(-25, -25, 100, 100)
    deleteButton.setImage(image, forState: .Normal)
    deleteButton.addTarget(self,action:#selector(deleteCell), forControlEvents:.TouchUpInside)
    deleteButton.hidden = editOn
    cell.addSubview(deleteButton)
    return cell
}


@IBAction func EditButtonTap(sender: AnyObject) {
    editOn = !editOn
    sidePanelCollectionView.reloadData()
}

【问题讨论】:

  • 您在哪里尝试切换按钮的hidden 属性?您实际上在寻求什么帮助?
  • 我尝试为按钮使用标签,但没有成功。我不确定如何引用所有这些按钮。
  • 拥有一个布尔变量如何让您的单元格读取并将其隐藏属性设置为,即 deleteButton.hidden = myBool。并且每次设置都重新加载可见单元格。
  • ^^ 刚试了下,成功开启,但没有移除……哈哈
  • @UlisesGiacoma 我们可以看看你的 deleteCell 函数吗?

标签: ios swift swift2 uicollectionview


【解决方案1】:

我认为您想要做的是按索引遍历所有数据,然后为每个索引在 UICollectionView 上调用 cellForItemAtIndexPath:。然后您可以使用现有的单元格,将其转换为您的特定类型as? RACollectionViewCell,然后以这种方式设置按钮隐藏值。

示例(抱歉,我现在不在 xcode 中准确验证这一点,但这是要点):

for (index, data) in myDataArray.enumerated() {
   let cell = collectionView.cellForRowAtIndexPath(NSIndexPath(row: index, section: 0)) as? RACollectionViewCell
   cell?.deleteButton.hidden = false
}

您可能还需要在您的视图控制器中使用某种isEditing 布尔变量来跟踪您处于编辑状态的事实,以便在您滚动时,新配置的单元格继续显示有/没有按钮。您还需要上面的现有代码,以确保它在滚动发生时继续工作。不要每次都创建一个新的删除按钮,你应该把这个按钮放在你的故事板中并设置一个参考,然后你就可以使用类似cell.deleteButton.hidden = !isEditing

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 2017-05-05
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    相关资源
    最近更新 更多