本站最新网址:http://www.helmsmansoft.com 欢迎关注
功能代码如下:
在.h文件中定义
NSMutableArray *views;
NSInteger currentPage;
CGPoint startPoint;
- (void)viewDidLoad //重写初始化载入方法 { /* 初始化数据 */ [super viewDidLoad]; self.view.userInteractionEnabled = YES; //开启交互功能 UIImageView *view1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pageone.png"]]; view1.userInteractionEnabled = YES; view1.frame = CGRectMake(0, 0, 320, 460); //设置坐标 UIImageView *view2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pagetwo.png"]]; view2.userInteractionEnabled = YES; view2.frame = CGRectMake(0, 0, 320, 460); UIImageView *view3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pagethr.png"]]; view3.userInteractionEnabled = YES; view3.frame = CGRectMake(0, 0, 320, 460); UIImageView *view4 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pagefou.png"]]; view4.userInteractionEnabled = YES; view4.frame = CGRectMake(0, 0, 320, 460); NSMutableArray *muView = [[NSMutableArray alloc] init]; [muView addObject:view1]; [muView addObject:view2]; [muView addObject:view3]; [muView addObject:view4]; [view1 release]; [view2 release]; [view3 release]; [view4 release]; self.views = muView; [muView release]; [self.view addSubview:view1]; //添加视图 //[self.view insertSubview:view1 atIndex:0]; } - (void)turnLeftPage:(UIView *)view //自定义 { //设置type和subtype属性产生不同的动画效果 CATransition *transition = [CATransition animation]; //定义过度动画 transition.duration = 0.75; //持续时间 transition.type = @"pageCurl"; //动画样式 transition.subtype = kCATransitionFromLeft; //方向 [[self.view.subviews objectAtIndex:0] removeFromSuperview]; //移除原视图 [self.view insertSubview:view atIndex:0]; //添加新视图 // [self viewWillDisappear:NO]; [self.view.layer addAnimation:transition forKey:nil]; //动画添加到层 } - (void)turnRightPage:(UIView *)view { CATransition *transition = [CATransition animation]; transition.duration = 0.75; transition.type = @"pageCurl"; transition.subtype = kCATransitionFromRight; [[self.view.subviews objectAtIndex:0] removeFromSuperview]; [self.view insertSubview:view atIndex:0]; // [self viewWillDisappear:YES]; [self.view.layer addAnimation:transition forKey:nil]; } - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; CGPoint pointone = [touch locationInView:self.view];//获得初始的接触点 self.startPoint = pointone; } - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; CGPoint pointtwo = [touch locationInView:self.view]; //获得滑动后最后接触屏幕的点 if(fabs(pointtwo.x-startPoint.x)>50){ //判断亮点间的距离 if(pointtwo.x-startPoint.x>0){ //判断点的位置关系 --currentPage; if(self.currentPage >= 0){ //判断页码 UIImageView *nextView = [self.views objectAtIndex:currentPage]; //初始化下一页 [self turnLeftPage:nextView]; //调用自定义方法 }else{ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"警告!" message:@"已经到第一页了" delegate:nil cancelButtonTitle:@"好" otherButtonTitles: nil]; [alert show]; //画警告 [alert release]; self.currentPage = 0; } }else{ ++currentPage; if(self.currentPage < [self.views count]){ UIImageView *nextView = [self.views objectAtIndex:currentPage]; [self turnRightPage:nextView]; }else{ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"警告!" message:@"已经是最后一页了" delegate:nil cancelButtonTitle:@"好" otherButtonTitles: nil]; [alert show]; [alert release]; self.currentPage = [self.views count]-1; } } } }这里使用了setType与setSubtype组合,这使用个比较保险,因为他的参数就是官方API里定义的,他们的参数说明可以参考如下: setType:可以返回四种类型: kCATransitionFade淡出 kCATransitionMoveIn覆盖原图 kCATransitionPush推出 kCATransitionReveal底部显出来 setSubtype:也可以有四种类型: kCATransitionFromRight; kCATransitionFromLeft(默认值) kCATransitionFromTop; kCATransitionFromBottom 还有一种设置动画类型的方法,不用setSubtype,只用setType [animation setType:@"suckEffect"]; 这里的suckEffect就是效果名称,可以用的效果主要有: pageCurl 向上翻一页 pageUnCurl 向下翻一页 rippleEffect 滴水效果 suckEffect 收缩效果,如一块布被抽走 cube 立方体效果 oglFlip 上下翻转效果
发表评论
-
用UITableViewCell实现电子书平铺书架效果
2011-09-16 11:26 2079原创文章,如需转载请注明:转载自:舵手程序 http://ww ... -
遍历指定目录下的文件,将复合条件的文件加载到列表(UITableView))
2011-08-22 09:10 1904本站最新网址:[url]http://www.helmsman ... -
遍历目录下指定文件类型的文件,并输出
2011-08-17 17:54 1387[super viewDidLoad]; ... -
(转)UIApplication sharedApplication
2011-08-17 16:14 1989iPhone应用程序是由主函数main启动,它负责调用UIAp ... -
隐藏UINavigation
2011-08-17 11:05 624在需要的地方设置即可 [self.navigat ... -
在状态栏中添加Activity Indicator View 图标
2011-08-16 15:49 1515添加此属性即可: [UIApplic ... -
实现UIImage的移动动画
2011-08-16 09:28 2468- (void)viewDidLoad { ... -
UIAlertView的基本操作
2011-08-15 17:59 1359UIAlertView 提示框 定义并显示: ... -
在UIAlertVIew 中 添加 UITextField
2011-08-15 17:23 1569UIAlertView *alert = [[UIA ... -
表UITableViewController 的一些操作方法
2011-08-15 16:47 1088是否可以对表进行编辑 [self.tableView se ... -
数组基础
2011-08-15 15:43 8961、创建数组 NSArray *array = [[NSA ... -
UINavigationController,UIBarButtonItem应用的例子
2011-08-12 17:23 1471rootViewController.m文件 - (v ... -
创建一个简单表-UITableView
2011-08-11 14:35 11671.创建基于View-based Application的工 ... -
UIImageView 从左到右出现的动画效果
2011-08-11 11:47 2510UIImageView *imgView =[[UII ...
相关推荐
总的来说,实现iPhone上的翻页效果是一个涉及多方面技术的过程,它需要对iOS的动画框架、手势识别以及视图操作有深入的理解。通过分析和学习这样的代码实例,开发者不仅可以掌握具体的技术,还能培养解决问题和实现...
“iphone”表明这是针对iOS设备的开发内容,“mapcurl”可能是对实现地图翻页效果的特定描述,“pagecurl”是iOS内置的一种动画效果,它模拟了页面卷曲翻转的效果,可以通过Core Animation框架的CATransition来实现...
接下来,我们关注核心部分——翻页动画的实现。有几种常见的方法可以实现这一效果: 1. **使用CATransition**:CATransition是Core Animation中的一个类,可以创建过渡动画,如推拉、淡入淡出等。通过自定义参数,...
"iPhone十种翻页效果"这个主题聚焦于如何在iPhone应用中实现各种翻页动画,为用户提供更加生动、交互性强的体验。翻页效果是iOS设备上常见的过渡动画,常见于电子书、杂志应用或任何需要页面切换的场景。以下将详细...
这时,可以使用`CATransition`或者自定义`UIView`动画来实现更复杂的翻页效果。`CATransition`是Core Animation层的一个过渡动画类,可以创建包括翻页在内的各种转场动画。 1. **使用CATransition**:通过设置`type...
翻页动画在iOS中主要用于模拟实际书籍的翻页效果,常在阅读应用或页面切换场景中使用。这个效果可以通过CATransition或UIPageViewController实现。CATransition提供了多种转场动画类型,包括“curlUp”和“curlDown...
本项目聚焦于iPhone上的SceneTransition动画转换,包含了大约20多种不同的动画效果,适用于各种应用场合。这些动画不仅增加了应用程序的视觉吸引力,还使得用户在操作时更加直观和舒适。 首先,我们要理解...
"iPhone入门学习源代码 - 半翻页动画效果例子" 是一个关于如何实现iPhone应用内类似翻页的动画效果的学习资源。这种效果模仿了真实世界中书页翻动的感觉,使得用户界面更加生动和引人入胜。这种半翻页动画通常用于...
3. **实现翻页动画**:在处理函数中,你需要计算手指移动的距离和速度,然后根据这些信息来更新图层的形状和位置。Core Animation提供了一些内置的动画类型,如CABasicAnimation,但在这个案例中,你可能需要创建一...
7. **电子书翻页(Page-Curl Effect)**:iOS中著名的翻页效果,是通过`CATransition`类实现的。这种过渡动画模拟了纸张被翻开或合上的视觉效果。 8. **图层组合(Layer Compositing)**:Core Animation允许你创建...
最后,使用`CATransition`来创建翻页动画,将其添加到页面内容视图的`layer`上。 在实践中,`NVDemo`可能是一个包含示例代码的项目,用于演示如何实现上述的翻页效果。这个项目可能包含了多个`UIViewController`...
- 考虑性能问题,避免在短时间内频繁执行翻页动画。 5. **源代码分析**: 压缩包中的"Flip View"文件可能包含了实现Flip View效果的示例代码。通常,你会看到一个自定义的`UIViewController`子类,其中包含了创建...
在iOS应用开发中,"iPhone页面翻转效果"是一种常见的过渡动画,通常用于模拟实际书籍翻页的效果,为用户带来更生动、互动的体验。这种效果在电子杂志、电子书或者展示类应用中尤其常见,因为它能带给用户更加真实且...
本文将深入探讨“iPhone各种视图切换效果”,并结合源码分析,帮助开发者实现丰富的页面过渡动画。 1. **UINavigationController的pushViewController和popViewController** UINavigationController是iOS中最常见...
此外,还可以通过仅设置`setType:`来实现更多特殊效果,例如`pageCurl`(向上翻页)、`pageUnCurl`(向下翻页)、`rippleEffect`(水波纹效果)、`suckEffect`(收缩效果)等。 **示例代码**: ```objective-c ...
在这个源码中,可能使用了`CATransition`或`CABasicAnimation`来实现翻页动画。 3. **Page Control**:UIPageControl通常用于指示多页面视图的当前页和总页数,类似于iBook底部的小圆点。在实现翻页效果时,它能...
本教程主要聚焦于使用`UIView`类中的过渡动画来实现各种炫酷的页面转换效果,如翻页、波纹、旋转和翻转等。这些效果可以极大地提升用户体验,使应用看起来更加专业和吸引人。 首先,我们要了解`UIView`类中的`...
这可能涉及到Core Animation框架,通过创建并配置关键帧动画或转场动画,实现更加逼真的翻页动画。 3. **数据模型**:在iOS应用中,数据通常是页面内容的来源。源码可能使用了数组或其他数据结构存储页面数据,并...
本资源“iOS/iPhone/iPAD/iPod源代码-视图切换(View Transition)-View Transition”提供了一组实现各种页面切换过渡效果的示例代码,适用于开发者学习和应用到自己的项目中。 在iOS中,我们可以使用苹果提供...
例如,可以自定义`UIPageViewControllerTransitionDuration`属性,或者使用`CATransition`来实现更复杂的动画效果。 标签“PageView”和“翻页”提示我们关注页面间的过渡效果。在实际应用中,可能还需要处理边缘...