iOS:使用手势更改图像视图的 alpha

Posted

技术标签:

【中文标题】iOS:使用手势更改图像视图的 alpha【英文标题】:iOS: Change alpha of image view with gestures 【发布时间】:2016-08-05 07:05:13 【问题描述】:

我想通过上下或左右等手势更改图像的 alpha。 我不想为此使用滑块。

如果可以,是否可以这样做,那么请告诉我如何或我必须为此使用滑块?

谢谢。

【问题讨论】:

【参考方案1】:

您可以在视图或视图控制器上实现方法

- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

    UITouch *touch = [touches anyObject];
    CGPoint location = [touch locationInView:self];

    NSLog(@"location: %@",NSStringFromCGPoint(location));

    // Example:
    // alpha depends on location.x related to view bounds width
    CGFloat alpha = (self.bounds.size.width - location.x) / self.bounds.size.width;
    NSLog(@"alpha: %@",@(alpha));

您可以在哪里查看location.xlocation.y

【讨论】:

【参考方案2】:

尝试执行以下操作:

先附加点击GestureRecognizer查看:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(yourTapMethod:)];
tap.numberOfTapsRequired = 1;
tap.numberOfTouchesRequired = 1;
[imageView addGestureRecognizer:tap];

然后,在手势识别处理程序中做你想做的事:

-(void)yourTapMethod

[UIView animateWithDuration:0.5 animations:^(void)

     imageView.alpha = //add any value (like 0.2f);  
  

【讨论】:

我知道如何对视图应用手势,但我想像使用滑块一样更改图像视图的 alpha。就我而言,我不想为此使用滑块 你见过 Prisma 应用吗?我想像在图像视图手势上那样更改 alpha。

以上是关于iOS:使用手势更改图像视图的 alpha的主要内容,如果未能解决你的问题,请参考以下文章

使用 UIScrollView 更改图像的 alpha

从列表视图位置更改图像 alpha 并保存

ios 滑动手势在子视图上未被识别,父视图上的手势

iOS - 在图像视图上点击手势问题

Xamarin.Forms 警告:尝试使用 iOS 图像/手势识别器在其视图不在窗口层次结构中的 * 上呈现 *

使用平移手势平滑地更改动画约束