1. #import <UIKit/UIKit.h>
  2.  
  3. @interface AppDelegate : UIResponder <UIApplicationDelegate>
  4.  
  5. @property (strong, nonatomic) UIWindow *window;
  6.  
  7. @end
  1. #import "AppDelegate.h"
  2. #import "RootViewController.h"
  3.  
  4. @interface AppDelegate ()
  5.  
  6. @end
  7.  
  8. @implementation AppDelegate
  9.  
  10. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  11. self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  12. // Override point for customization after application launch.
  13. self.window.backgroundColor = [UIColor whiteColor];
  14.  
  15. self.window.rootViewController = [[RootViewController alloc] init];
  16.  
  17. [self.window makeKeyAndVisible];
  18. return YES;
  19. }
  20.  
  21. @end
  1. #import <UIKit/UIKit.h>
  2.  
  3. @interface RootViewController : UIViewController
  4.  
  5. @end
  1. #import "RootViewController.h"
  2. #define ImageCount 5
  3. @interface RootViewController ()
  4. {
  5. UIImageView *_imageView;
  6. int currentIndex;
  7. }
  8. @end
  9.  
  10. @implementation RootViewController
  11.  
  12. - (void)viewDidLoad {
  13. [super viewDidLoad];
  14. // 定义图片控件
  15. _imageView = [[UIImageView alloc] init];
  16. _imageView.frame = [UIScreen mainScreen].bounds;
  17. _imageView.contentMode = UIViewContentModeScaleAspectFit;
  18. _imageView.image = [UIImage imageNamed:@"0.jpg"];
  19. _imageView.userInteractionEnabled = YES;
  20. [self.view addSubview:_imageView];
  21. // 添加手势
  22. UISwipeGestureRecognizer *leftSwipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftSwipeAction:)];
  23. leftSwipe.direction = UISwipeGestureRecognizerDirectionLeft;
  24. [_imageView addGestureRecognizer:leftSwipe];
  25.  
  26. UISwipeGestureRecognizer *rightSwipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeAction:)];
  27. rightSwipe.direction = UISwipeGestureRecognizerDirectionRight;
  28. [_imageView addGestureRecognizer:rightSwipe];
  29.  
  30. }
  31. #pragma mark --向左滑动浏览下一张图片--
  32. - (void)leftSwipeAction:(UISwipeGestureRecognizer *)sender{
  33. [self transitionAnimation:YES];
  34. }
  35.  
  36. #pragma mark --向右滑动浏览上一张图片--
  37. - (void)rightSwipeAction:(UISwipeGestureRecognizer *)sender{
  38. [self transitionAnimation:NO];
  39. }
  40.  
  41. #pragma mark --旋转动画--
  42. - (void)transitionAnimation:(BOOL)isLeft{
  43. //创建转场动画对象
  44. CATransition *transition = [[CATransition alloc] init];
  45. //设置动画类型,注意对于苹果官方没公开的动画类型只能使用字符串,并没有对应的常量定义
  46. transition.type = @"cube";
  47. //设置子类型
  48. if (isLeft) {
  49. transition.subtype = kCATransitionFromRight;
  50. }else{
  51. transition.subtype = kCATransitionFromLeft;
  52. }
  53. //设置动画时常
  54. transition.duration = 0.8;
  55. //设置转场后的新视图添加转场动画
  56. _imageView.image = [self getImageByIndex:isLeft];
  57. [_imageView.layer addAnimation:transition forKey:@"KCTransitionAnimation"];
  58. }
  59.  
  60. #pragma mark --获取相应的图片--
  61. - (UIImage *)getImageByIndex:(BOOL)isLeft{
  62. if (isLeft) {
  63. currentIndex = (currentIndex + ) % ImageCount;
  64. }else{
  65. currentIndex = (currentIndex - + ImageCount) % ImageCount;
  66. }
  67. NSString *imageName = [NSString stringWithFormat:@"%i.jpg",currentIndex];
  68. return [UIImage imageNamed:imageName];
  69. }
  70.  
  71. - (void)didReceiveMemoryWarning {
  72. [super didReceiveMemoryWarning];
  73. // Dispose of any resources that can be recreated.
  74. }
  75.  
  76. @end

iOS 图片循环滚动(切片效果)的更多相关文章

  1. 特殊例子--JavaScript代码实现图片循环滚动效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 使用UIScrollView 结合 UIImageView 实现图片循环滚动

    场景: 在开发工作中,有时我们需要实现一组图片循环滚动的情况.当我们使用 UIScrollView 结合 UIImageView 来实现时,一般 UIImageView 会尽量考虑重用,下面例子是以( ...

  3. cocos2d(背景图片循环滚动)

    背景图片循环滚动 使用action 实现的: 主要有两个背景图片交替循环滚动:我选的两个背景图片的宽度都是1024的 ,所以定义了#define BGIMG_WIDTH 1024 代码如下: 在Hel ...

  4. 基于html5可拖拽图片循环滚动切换

    分享一款基于html5可拖拽图片循环滚动切换.这是一款支持手机端拖拽切换的网站图片循环滚动特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="s ...

  5. 图片循环滚动效果shader

    背景无限循环滚动效果,有X和Y轴的速度控制,方便控制.见下图,操作步骤同之前的背景循环设置. shader如下: Shader "Custom/Scroll" { Properti ...

  6. iOS无限循环滚动scrollview

    经常有园友会问"博主,有没有图片无限滚动的Demo呀?", 正儿八经的图片滚动的Demo我这儿还真没有,今天呢就封装一个可以在项目中直接使用的图片轮播.没看过其他iOS图片无限轮播 ...

  7. iOS开发 - 循环滚动的ScrollView

    源码在这里,请多多指教. 由于开发需要,要用到循环自动滚动的scrollView,借鉴了前人的思路,重新设计了一个AutoSlideScrollView.先自吹自擂一翻吧: 借鉴UITableView ...

  8. php广告图片循环播放 幻灯片效果

    <!DOCTYPE> <html> <head> <meta http-equiv="content-type" content=&quo ...

  9. UIScrollView 图片循环滚动

    1:假如有6个图片:那个,Scrollview的大小加 7 个图片的大小 2: //ImageScrollView; UIScrollView *imageScroll = [[UIScrollVie ...

随机推荐

  1. Uncaught RangeError: Maximum call stack size exceeded解决思路

    今天突然碰到这样的JavaScript错误:Uncaught RangeError: Maximum call stack size exceeded 这个翻译过来就是堆栈溢出了. 1.原因:有小类到 ...

  2. gitlab & gerrit & git & repo & jenkins

    Omnibus GitLab documentation(中文安装说明) 在自己的服务器上部署 GitLab 社区版->较为全面 GIT & REPO & GERRIT (三) ...

  3. PHP CURL 多线程 GET/POST 类

    PHP CURL 多线程 GET/POST 类 2015-01-01 分类:技术文章 阅读(623) 评论(0) 如果有需要更正或更高效的建议,欢迎在OSchina分享~\(≧▽≦)/~ http:/ ...

  4. HttpStatusCodeResult

    HttpStatusCodeResult:让mvc回传特定的http状态代码与消息给客户端,对于一些特殊的http响应,可利用httpStatusCodeResult帮助我们响应适当的状态代码: 1X ...

  5. hdf第二周,每天加班,周末加班,周日健身

    ----------------------------------------------------------------------------- 受到挫折,写一些简单的练习,增加成就感 放大 ...

  6. linux C gcc -lm

    使用math.h中声明的库函数还有一点特殊之处,gcc命令行必须加-lm选项,因为数学函数位于libm.so库文件中(这些库文件通常位于/lib目录下),-lm选项告诉编译器,我们程序中用到的数学函数 ...

  7. 汇总10.4版本ArcGIS Server与ArcMap 安装+SDE+注册数据源(非破解)

    文档参考了Server技术支持部各位前辈的总结文档. win10 + Server 10.4 +  ArcMap 10.4 + Oracle instant client (32位 和 64位) 安装 ...

  8. Delphi 指针

    1:指针的赋值. type RTestInfo = record Age:Integer; end; PtestInfo = ^ RtestInfo; var Test1,Test2:PtestInf ...

  9. 浅谈 举家搬迁静态文件到CDN

    由于七牛CDN最近做活动,对于标准用户可以免费使用如下优惠 10 GB 存储空间 10 G/月 下载流量 10 万次/月 PUT/DELETE 请求 100 万次/月 GET 请求 以上这些指标直接就 ...

  10. 低功耗蓝牙4.0BLE编程-nrf51822开发(11)-蓝牙串口代码分析

    代码实例:点击打开链接 实现的功能是从uart口发送数据至另一个蓝牙串口,或是从蓝牙读取数据通过uart打印出数据. int main(void) { // Initialize leds_init( ...