我的应用中有一个照片库。我可以在哪里选择多张照片并删除它们。一切都很顺利。
我只需要实现Apple的默认选择行为,就像我们在相机胶卷中看到的那样。
现在我的选择就像这样
我已经实现了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];
}
}
那么,是否有可能拥有苹果的默认选择行为?
任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:2)
在您的单元格的setSelected:
中,如果选择YES
,则添加一个字母为UIView
的白色0.5
(或将该值调整为看起来不错的不透明度给你);如果NO
,请删除该重叠视图。然后,当您添加复选标记图像时,请务必使用[self.contentView bringSubviewToFront:checkmarkImageView]
将其叠加在叠加层视图的顶部。
答案 1 :(得分:1)
只需在UIImageView上添加一个具有所需灰色的UIView即可。 将alpha设置为f.e. 0.5和隐藏=是;
_blurView.hidden = YES;
_blurView.alpha = 0.5;
然后设置hidden = NO如果选中。
_blurView.hidden = NO;
您可以使用InterfaceBuilder添加UIView。
为了让它看起来更好,你可以使用带有漂亮纹理图像的UIImageView。