gpt4 book ai didi

ios - GMGridView 的单元格突出显示

转载 作者:行者123 更新时间:2023-11-29 13:28:09 26 4
gpt4 key购买 nike

我正在使用 GMGridView使用子类 UIView 作为单元格的 contentView。这些在

- (GMGridViewCell *)GMGridView:(GMGridView *)gridView cellForItemAtIndex:(NSInteger)index

现在我希望单元格具有高亮显示,类似于 UIButton 的行为。这意味着有一个稍微不透明的深色覆盖层。我只是不知道我必须在哪里分配突出显示。

我看到 GMGridViewCell 有一个名为 highlighted 的属性,它指示单元格是否突出显示。在上述方法中将其设置为 cell.highlighted = YES; 不会改变单元格的外观。

GMGridView 网站的描述中它说

Features - General:

  • Cell highlighting support

所以,应该有一个方法......

谁能告诉我应该如何分配突出显示?

最佳答案

我讨厌这种情况发生。刚刚找到答案。

显然,突出显示将应用于 cell.contentView 的 subview ,可以在这里看到 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;
}

然后 subview 的高亮状态将被激活。

-(void)setHighlighted:(BOOL)aHighlighted {
highlighted = aHighlighted;

[self.contentView recursiveEnumerateSubviewsUsingBlock:^(UIView *view, BOOL *stop) {
if ([view respondsToSelector:@selector(setHighlighted:)]) {
[(UIControl*)view setHighlighted:highlighted];
}
}];
}

因此,要实现单元格高亮显示,我只需要在我的自定义单元格 View 部分上方添加一个带有透明层的 UIImageView。希望这对任何人都有帮助。

关于ios - GMGridView 的单元格突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12579110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com