我在这里通过教程:http://pinkstone.co.uk/how-to-build-a-uicollectionview-in-ios-8/
看到一个看起来很棒的部分,因为它使事情变得简单,使用视图来显示所选/未选择项目的颜色变化.-
(void)awakeFromNib {
// background color
UIView *bgView = [[UIView alloc]initWithFrame:self.bounds];
self.backgroundView = bgView;
self.backgroundView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"blue"]];
// selected background
UIView *selectedView = [[UIView alloc]initWithFrame:self.bounds];
self.selectedBackgroundView = selectedView;
self.selectedBackgroundView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"pink"]];
}
作者表明,这是一种简单的方法,无需管理细胞状态。
Q值。我想在突出显示过程中使用此方法更改颜色。但是,didHighlightItemAtIndexPath在CollectionViewController中,我想让它使用相同的过程。
基本上它的作用是根据选择/未选择从一种颜色变为另一种颜色。我想使用添加颜色来指示突出显示/未突出显示的状态。
我检查了使用UIView的单元格中的所有方法,并且没有突出显示/未突出显示的内容。
有关使用细胞方法优势的方法的任何想法?我可以从viewcontroller方法调用自定义方法并在那里加载视图吗?
您可能会将此视为“按住”,以便在按住时更改颜色。
答案 0 :(得分:0)
UIView
对它的选定或未选择状态一无所知,因为它是一个非常基本的组件,并不是特定于允许选择的控件。 UICollectionViewCell
确实具有selected
属性,因此这是更改这些特征的正确位置。查看文档似乎无论是点击setSelected
还是selectedBackgroundView
,都会为您提供定制所选单元格的L& F的绝佳机会。如果你也可能正在寻找它,那么还有一个highlighted
州。