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.x
或location.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的主要内容,如果未能解决你的问题,请参考以下文章