自定义UIcollectionViewCell,使用视图来控制颜色更改

时间:2016-03-07 20:52:15

标签: ios objective-c uicollectionviewcell

我在这里通过教程: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方法调用自定义方法并在那里加载视图吗?

您可能会将此视为“按住”,以便在按住时更改颜色。

1 个答案:

答案 0 :(得分:0)

UIView对它的选定或未选择状态一无所知,因为它是一个非常基本的组件,并不是特定于允许选择的控件。 UICollectionViewCell确实具有selected属性,因此这是更改这些特征的正确位置。查看文档似乎无论是点击setSelected还是selectedBackgroundView,都会为您提供定制所选单元格的L& F的绝佳机会。如果你也可能正在寻找它,那么还有一个highlighted州。