选框animationUIimageView模糊

在这里输入图像说明在这里输入图像说明 在我的应用程序图像是在选框效果(HTML)。 所以我通过使用NSTimer设置图像的X点,但它成功实现,但图像显示一些模糊。 我如何去除这个模糊效果?

 int x=0; ImgArray=[[NSMutableArray alloc] initWithObjects:[UIImage imageNamed:@"keyframe1.png"],[UIImage imageNamed:@"keyframe2.png"],[UIImage imageNamed:@"keyframe3.png"],[UIImage imageNamed:@"keyframe4.png"], [UIImage imageNamed:@"keyframe5.png"],nil]; imgView=[[UIImageView alloc]initWithFrame:CGRectMake(x, 0, 1024, 768)];` imgView.image=[ImgArray objectAtIndex:0]; [self.view addSubview:imgView]; [NSTimer scheduledTimerWithTimeInterval:.08 target:self selector:@selector(showMarquee) userInfo:nil repeats:YES]; 

在showMarquee方法中更改x的值

使用下面的代码为选取框效果。

声明CAShapeLayer对象

 CAShapeLayer *_marque; 

使用下面的方法:

 -(void)setMarquee { if (!_marque) { _marque = [CAShapeLayer layer] ; _marque.fillColor = [[UIColor clearColor] CGColor]; _marque.strokeColor = [[UIColor grayColor] CGColor]; _marque.lineWidth = 1.0f; _marque.lineJoin = kCALineJoinRound; _marque.lineDashPattern = [NSArray arrayWithObjects:[NSNumber numberWithInt:10],[NSNumber numberWithInt:5], nil]; _marque.bounds = CGRectMake(self.imgView.frame.origin.x, self.imgView.frame.origin.y, 0, 0); _marque.position = CGPointMake(self.imgView.frame.origin.x + self.imgView.frame.origin.x, self.imgView.frame.origin.y + self.imgView.frame.origin.y); } [self.view.layer addSublayer:_marque]; } -(void)showOverlayWithFrame:(CGRect)frame { if (![_marque actionForKey:@"linePhase"]) { CABasicAnimation *dashAnimation; dashAnimation = [CABasicAnimation animationWithKeyPath:@"lineDashPhase"]; [dashAnimation setFromValue:[NSNumber numberWithFloat:0.0f]]; [dashAnimation setToValue:[NSNumber numberWithFloat:15.0f]]; [dashAnimation setDuration:0.5f]; [dashAnimation setRepeatCount:HUGE_VALF]; [_marque addAnimation:dashAnimation forKey:@"linePhase"]; } _marque.bounds = CGRectMake(frame.origin.x, frame.origin.y, 0, 0); _marque.position = CGPointMake(frame.origin.x + self.imgView.frame.origin.x, frame.origin.y + self.imgView.frame.origin.y); CGMutablePathRef path = CGPathCreateMutable(); CGPathAddRect(path, NULL, frame); [_marque setPath:path]; CGPathRelease(path); _marque.hidden = NO; } 

现在调用方法

 [self setMarquee]; [self showOverlayWithFrame:self.imgView.frame]; 

只要介绍这个项目

https://www.cocoacontrols.com/controls/kaslideshow