当选择一个单元格时,子类方法会覆盖 setSelected:
查看控制器代码
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
[collectionView selectItemAtIndexPath:indexPath animated:YES scrollPosition:UICollectionViewScrollPositionNone];
}
-(void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath{
[collectionView deselectItemAtIndexPath:indexPath animated:YES];
}
CollectionView子类方法
-(void)setSelected:(BOOL)selected{
[super setSelected:selected];
if(self.isSelected){
self.myLabel.font = [UIFont boldSystemFontOfSize:10.0];
}else{
self.myLabel.font = [UIFont systemFontOfSize:10.0];
}
}
我也在尝试更改textcolor。所以,就像每次我选择新的 UIFont 对象一样,如果设置文本颜色(某些自定义UIColor),也会创建新对象。或者有更好的方法吗?
答案 0 :(得分:0)
视图控制器代码是冗余的。系统将自动执行所有这些操作。
关于创建UIFont对象,开销很小,您无需担心。