我正在将GMGridView
和子类UIView
用作单元格的contentView
。这些是在
- (GMGridViewCell *)GMGridView:(GMGridView *)gridView cellForItemAtIndex:(NSInteger)index
现在,我希望单元格具有突出显示,类似于
UIButton
的行为。意味着有一个稍微不透明的深色叠加层。我只是不知道必须在哪里分配突出显示。我看到
GMGridViewCell
具有一个称为highlighted
的属性,该属性指示单元格ist是否突出显示。在上述方法中将其设置为cell.highlighted = YES;
不会改变单元格的外观。在
GMGridView
网站上的说明中说功能-常规:
单元格突出显示支持
因此,应该有一种方法...
谁能告诉我突出显示应如何分配?
最佳答案
发生这种情况时,我会讨厌。刚找到答案。
显然,突出显示将应用于cell.contentView
的子视图,可以在此处in the commit看到。
触摸时,该单元格将突出显示:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
self.highlighted = YES;
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
self.highlighted = NO;
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
self.highlighted = NO;
}
然后子视图的突出显示状态将被激活。
-(void)setHighlighted:(BOOL)aHighlighted {
highlighted = aHighlighted;
[self.contentView recursiveEnumerateSubviewsUsingBlock:^(UIView *view, BOOL *stop) {
if ([view respondsToSelector:@selector(setHighlighted:)]) {
[(UIControl*)view setHighlighted:highlighted];
}
}];
}
因此,要实现单元格突出显示,我只需要在自定义单元格视图的各个部分上方添加带有透明层的
UIImageView
。希望这对任何人有帮助。关于ios - GMGridView的单元格突出显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12579110/