2

我的应用程序中有一个照片库。我可以在其中选择多张照片并删除它们。一切进展顺利。

正如我们在相机胶卷中看到的那样,我只需要实现苹果的默认选择行为。

在此处输入图像描述

现在我的选择是这样的

在此处输入图像描述

我已经实现了 didSelectItemAtIndexPath 方法如下 -

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"Delegate cell %@ : SELECTED", [self formatIndexPath:indexPath]);
    MyCustomCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
    cell.label.backgroundColor=[UIColor greenColor];
}

 - (NSString *)formatIndexPath:(NSIndexPath *)indexPath 
{
    return [NSString stringWithFormat:@"%ld", (long)indexPath.row+1];
}

在 MyCustomCell.m 中,我将标签的框架设置为矩形,如图(绿色)所示。

方法 setSelected 如下所示:

- (void)setSelected:(BOOL)selected
{
    UIView *blurView=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 60, 70)];
    blurView.backgroundColor=[UIColor whiteColor];
    blurView.alpha=0.5;
    blurView.opaque=YES;
    if (selected) {
        self.label.backgroundColor = [UIColor greenColor];
        [self.imageThumb addSubview:blurView];
    }
}

那么,是否有可能拥有苹果的默认选择行为?

任何帮助将不胜感激。提前致谢。

4

2 回答 2

2

setSelected:您的单元格中,如果选中,则添加一个带有 alpha 的YES白色(或将值调整为对您来说看起来不错的不透明度);如果,删除该覆盖视图。然后,当您添加复选标记图像时,请确保使用.UIView0.5NO[self.contentView bringSubviewToFront:checkmarkImageView]

于 2013-05-08T15:27:37.867 回答
1

只需在 UIImageView 上添加一个具有所需灰色颜色的 UIView。将 alpha 设置为 fe 0.5 和 hidden = YES;

_blurView.hidden = YES;
_blurView.alpha = 0.5;

然后设置 hidden = NO 如果选择。

_blurView.hidden = NO;

您可以使用 InterfaceBuilder 添加 UIView。

为了让它看起来更好,你可以使用带有漂亮纹理图像的 UIImageView。

于 2013-05-08T08:15:25.220 回答