gpt4 book ai didi

iphone - 向网格 tableView 添加覆盖层

转载 作者:行者123 更新时间:2023-12-03 21:08:18 30 4
gpt4 key购买 nike

我有一个表格 View ,每行有 4 个图像。我已经实现了一个共享选项,允许用户选择多个图像。如何添加叠加层或某种视觉效果来显示图像已被选中?

enter image description here

我想添加一些覆盖层来显示图像已被选中,但是如果不为每个缩略图添加一组新的 subview ,如何做到这一点?一旦完成,新 View 的选择将如何链接回它们后面的图像,以便它们可以添加到数组中?

或者有更简单的方法吗?

谢谢

最佳答案

根据您实现此 GridView 的方式,跟踪该级别的所有选择和取消选择可能是有意义的。

对于覆盖层,快速但肮脏的方法是子类化 UIImageView,添加一个名为 selected 的 BOOL 属性。然后,您可以覆盖 selected 的 setter 并处理显示或隐藏叠加 View 。

这是我如何设置我的子类。首先是界面:

@interface SelectableImageView : UIImageView

@property (nonatomic, assign, getter = isSelected) BOOL selected;

@end

以及实现...

@interface SelectableImageView ()

@property (nonatomic, retain) UIView *overlayView;

@end



@implementation SelectableImageView

@synthesize selected;
@synthesize overlayView;

- (id)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame])
{
overlayView = [[UIView alloc] initWithFrame:frame];
overlayView.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.75];
overlayView.hidden = YES;
[self addSubview:overlayView];
}

return self;
}

- (void)setSelected:(BOOL)flag
{
selected = flag;
self.overlayView.hidden = !flag;
}

- (void)dealloc
{
[overlayView release], self.overlayView = nil;
[super dealloc];
}

@end

关于iphone - 向网格 tableView 添加覆盖层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5052222/

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