![](/img/trans.png)
[英]How to animate UIBarButtonItem to slide on the UIToolbar from the left?
[英]Animate images from right to left like slide show
我已经完成了简单的动画制作,但是想像从左到右一样向滑块添加动画,我有一组图像,如何以编程方式进行动画处理,
-(void) slideImages
{
NSMutableArray *imagesArrays= [[NSMutableArray alloc]init];
for (SliderDC *slider in imagesArray) {
sliderImageName = slider.sliderImagePath;
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString: [NSString stringWithFormat:@"%@%@",KWURL ,sliderImageName]]];
UIImage *imgOne = [UIImage imageWithData:imageData];
if(imgOne)
[imagesArrays addObject:imgOne];
}
// after adding all image in array then add animation.
UIImageView* animatedImageView;
if ([[UIScreen mainScreen] bounds].size.height == 568){
animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 65, 320, 150)];
}
else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 98, 768, 228)];
}
else
{
animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 65, 320, 118)];
}
animatedImageView.animationImages = imagesArrays;
animatedImageView.animationDuration = 20.0f;
animatedImageView.animationRepeatCount = 0;
[self.view addSubview: animatedImageView];
[animatedImageView startAnimating];
}
您可以简单地使用DRDynamicSlideShow
创建漂亮的,动画的页面调度UIScrollViews。 当UIScrollView被分页时,可以轻松为视图设置动画。 这非常适合iOS应用中的欢迎屏幕和介绍视图。
特征
每个动画1行代码。
任何类型的值都可以设置动画。
块驱动。
尝试这个..
-(void) slideImages
{
NSMutableArray *imagesArrays= [[NSMutableArray alloc]init];
for (SliderDC *slider in imagesArray) {
sliderImageName = slider.sliderImagePath;
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString: [NSString stringWithFormat:@"%@%@",KWURL ,sliderImageName]]];
UIImage *imgOne = [UIImage imageWithData:imageData];
if(imgOne)
[imagesArrays addObject:imgOne];
}
- (IBAction)startAnimation:(UIButton *)sender
{
slideTransition = [CATransition animation]; // CATransition * slideTransition; instance variable
slideTransition.duration = 0.35;
slideTransition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
slideTransition.type = kCATransitionPush;
slideTransition.delegate = self;
NSTimer * timer = [NSTimer scheduledTimerWithTimeInterval:0.50 target:self selector:@selector(slideShow) userInfo:nil repeats:YES];
[timer fire];
}
-(void)slideShow
{
slideTransition.subtype =kCATransitionFromLeft; // or kCATransitionFromRight
[animatedImageView.layer addAnimation:slideTransition forKey:nil];
if (index < imagesArrays.count-1) // NSUInteger index; instance variable
{
index++;
}
else
{
index=0;
}
animatedImageView.image =[imagesArrays objectAtIndex:index];
}
-(void) slideImages
{
NSMutableArray *imagesArrays= [[NSMutableArray alloc]init];
for (SliderDC *slider in imagesArray) {
sliderImageName = slider.sliderImagePath;
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString: [NSString stringWithFormat:@"%@%@",KWURL ,sliderImageName]]];
UIImage *imgOne = [UIImage imageWithData:imageData];
if(imgOne)
[imagesArrays addObject:imgOne];
}
UIImageView* animatedImageView;
if ([[UIScreen mainScreen] bounds].size.height == 568){
animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 65, 320, 150)];
}
else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 98, 768, 228)];
}
else
{
animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 65, 320, 118)];
}
[self.view addSubview: animatedImageView];
self.animatedImageView.animationImages = imagesArrays;
self.animatedImageView.animationDuration=1.0;
self.animatedImageView.animationRepeatCount=1;
self.animatedImageView.image = [self.imageViewAnimation.animationImages lastObject]; //to stop animation at last image.
[self.animatedImageView startAnimating];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.