我正在尝试更改 Collection View 单元格标签的文本大小并稍微起作用。当我明智地选择项目索引(单元格 0、单元格 1、单元格 2....)时,它对我有用但是当我尝试在随机索引上选择项目(例如:单元格 0 到单元格 3)时,我的应用程序崩溃了
我正在尝试这段代码:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let idxPath = IndexPath(item: indexPath.item, section: 0)
let cell = collectionView.cellForItem(at: idxPath)
let myCell = collectionView.cellForItem(at: idxPath) as! MenuCell
cell?.isSelected = true
myCell.isSelected = true
myCell.title.font = UIFont.systemFont(ofSize: 16)
collectionView.scrollToItem(at: idxPath, at: UICollectionViewScrollPosition.centeredHorizontally, animated: true)
}
func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath) {
let idxPath = IndexPath(item: indexPath.item, section: 0)
let myCell = collectionView.cellForItem(at: idxPath) as! MenuCell
myCell.isSelected = false
myCell.title.font = UIFont.systemFont(ofSize: 13)
}
它在串联电池选择中起作用
但是当我随机选择单元格时
谢谢,抱歉我的英语不好
最佳答案
因为您重新创建了 IndexPath
,然后对单元格强制展开。
如果您只需要为第一部分更改字体,请尝试像这样更改代码:
func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath) {
if indexPath.section == 0 {
let myCell = collectionView.cellForItem(at: indexPath) as? MenuCell
myCell?.isSelected = false
myCell?.title.font = UIFont.systemFont(ofSize: 13)
}
}
关于ios - 更改 UICollectionView 中选定单元格的文本大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51498141/