Swift 当UIViewController类';s按钮被选中
选择文本字段下方的按钮时,如何更改顶部(例如Q1)UICollectionViewCell内标签的颜色 我只希望当前问题的标签更改其文本颜色 i、 e.如果用户正在回答问题1,当选择按钮时,Q1颜色将从橙色变为白色 请看上面的附图Swift 当UIViewController类';s按钮被选中,swift,uiviewcontroller,uicollectionview,uilabel,uicollectionviewcell,Swift,Uiviewcontroller,Uicollectionview,Uilabel,Uicollectionviewcell,选择文本字段下方的按钮时,如何更改顶部(例如Q1)UICollectionViewCell内标签的颜色 我只希望当前问题的标签更改其文本颜色 i、 e.如果用户正在回答问题1,当选择按钮时,Q1颜色将从橙色变为白色 请看上面的附图 我已经使用UIViewController作为UICollectionView的委托/数据源通过调用 collectionView.reloadItems(位于:[IndexPath]) 我想你有一系列的问题和一些正确/错误的标志。所以您应该有按钮选择处理程序和单元格
我已经使用UIViewController作为UICollectionView的委托/数据源通过调用
collectionView.reloadItems(位于:[IndexPath])
我想你有一系列的问题和一些正确/错误的标志。所以您应该有按钮选择处理程序和单元格组合方法
@objc private func onSomeButton(_ sender: UIButton) {
let questionNumber: Int = 999
self.markAnswer(correct: true, atIndex: questionNumber)
self.collectionView.reloadItems(at: [IndexPath(item: questionNumber, section: 0)])
}
然后这个调用会触发重新加载这个单元格
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: self.someDefaultRequseId, for: IndexPath)
cell.label.textColor = self.isAnswerCorrect(at: indexPath.item) ? .white : .red
}
如果我对您的情况理解正确,您就不需要在集合视图中滚动,因此您也不需要单元的可重用性。所以你需要一个静态结构。对于这种情况,最好对静态单元格使用
UITableView
。您可以为每个单元格设置IBOutlet
,也可以将单元格内的每个元素设置到主视图控制器中。然后在内部toucupInside
特定按钮的操作设置标签的颜色。谢谢!已经被困了好几个星期了!