gpt4 book ai didi

objective-c - UITableViewCell : Accessory View going away when selected

转载 作者:太空狗 更新时间:2023-10-30 04:01:27 25 4
gpt4 key购买 nike

我可能做错了,所以希望有人能告诉我应该怎么做。

我构建了一个 TableView 来充当图例和颜色选择器。在 AccessoryView 插槽中,我放置了一个自定义 View ,它只是一个彩色框。用户将显示图例,这样他们就知道什么颜色意味着什么,他们可以选择一种颜色,然后通过将该颜色分配给对象来“着色”绘图。所有这些都很好。

我遇到的问题是选定的行样式。当我从图例中选择一行时,单元格会变成蓝色,就像它应该的那样,但我的 AccessoryView 现在已经消失了。我不希望这发生。但是,我不知道要设置什么才能让它不消失。请记住,我仍然希望一行显示为“已选择”。但无论如何,我的附件 View 都会消失(很可能被所选颜色隐藏了)。

下面是我现在如何设置附件 View 。

CGRect colorBox = CGRectMake(0, 0, 30, 30);
UIView *colorView = [[UIView alloc] initWithFrame:colorBox];
colorView.backgroundColor = [self colorWithHexString:[selOption valueForKey:@"qoColor"]];
cell.accessoryView = colorView;

最佳答案

您可以使用 UIImageView 而不是 UIView,它不会在单元格被选中时消失。您可以为每种颜色制作微小的 .png 缩略图(如果没有很多),或者您可以在 cellForRowAtIndexPath 委托(delegate)方法中动态创建它们,ala:

UIImageView *colorView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];

CGRect rect = CGRectMake(0.0f, 0.0f, 30.0f, 30.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetFillColorWithColor(context, [[self colorWithHexString:[selOption valueForKey:@"qoColor"]]; CGColor]);
CGContextFillRect(context, rect);

UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

[colorView setImage:image];

[cell setAccessoryView:colorView];
[colorView release];

关于objective-c - UITableViewCell : Accessory View going away when selected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6470643/

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