{
  "name": "SCLoopScrollView",
  "version": "0.5.2",
  "summary": "A View Can Infinite Loop Scroll.",
  "description": "## SCLoopScrollView\n* A View Can Infinite Loop Scroll.\n## Installation\nUse the [CocoaPods](http://github.com/CocoaPods/CocoaPods).\n\nIn your Podfile\n>`pod 'SCLoopScrollView'`\n\nGet SCNumberKeyBoard\n>`#import \"SCLoopScrollView.h\"`\n\n## Or\nDrag `SCLoopScrollViewDemo/Classes` folder into your project\n>`#import \"SCLoopScrollView.h\"`\n\n## Previews\n![](http://i1.tietuku.com/7db519b122670a90.gif)\n\n## How To Use\n### Init By Yourself\n```objc\nNSArray *images = @[@\"http://e.hiphotos.baidu.com/image/w%3D310/sign=429b5adbbb014a90813e40bc99763971/622762d0f703918ffc60d8a3533d269759eec422.jpg\",\n                    [UIImage imageNamed:@\"0\"],\n                    @\"http://g.hiphotos.baidu.com/image/w%3D310/sign=9b62b9f379899e51788e3c1572a6d990/8718367adab44aed80ebd4eab11c8701a18bfb13.jpg\",\n                    [UIImage imageNamed:@\"1\"],\n                    @\"http://f.hiphotos.baidu.com/image/w%3D310/sign=544d5da6324e251fe2f7e2f99787c9c2/0824ab18972bd40720832c6179899e510eb309e1.jpg\",\n                    @\"http://www.huabian.com/uploadfile/2014/1008/20141008103712898.jpg\"];\n\nSCLoopScrollView *scrollView = [[SCLoopScrollView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.view.frame.size.width, 300.0f)];\n[self.view addSubview:scrollView];\nscrollView.images = images;\n[scrollView show:^(NSInteger index) {\n    NSLog(@\"Current Index:%@\", @(index));\n} finished:^(NSInteger index) {\n    NSLog(@\"Tap Index:%@\", @(index));\n}];\n```\n\n### Init By Storyboard\n```objc\nNSArray *images = @[@\"http://e.hiphotos.baidu.com/image/w%3D310/sign=429b5adbbb014a90813e40bc99763971/622762d0f703918ffc60d8a3533d269759eec422.jpg\",\n                    [UIImage imageNamed:@\"0\"],\n                    @\"http://g.hiphotos.baidu.com/image/w%3D310/sign=9b62b9f379899e51788e3c1572a6d990/8718367adab44aed80ebd4eab11c8701a18bfb13.jpg\",\n                    [UIImage imageNamed:@\"1\"],\n                    @\"http://f.hiphotos.baidu.com/image/w%3D310/sign=544d5da6324e251fe2f7e2f99787c9c2/0824ab18972bd40720832c6179899e510eb309e1.jpg\",\n                    @\"http://www.huabian.com/uploadfile/2014/1008/20141008103712898.jpg\"];\n\n_scrollView.images = images;\n[_scrollView show:^(NSInteger index) {\n    NSLog(@\"Current Index:%@\", @(index));\n} finished:^(NSInteger index) {\n    NSLog(@\"Tap Index:%@\", @(index));\n}];\n```\n\n-----------------\n\n## 无限循环滚动视图\n* 可以同时在代码和Xib以及Storyboard中使用。\n* 只需要简单的设置一下图片源既可以，三行代码搞定无限循环广告视图。\n* 目前图片源支持图片链接和UIImage实例。\n\n## 如何使用SCLoopScrollView\n* cocoapods导入：`pod 'SCLoopScrollView'`\n* 手动导入：\n* 将`SCLoopScrollViewDemo/Classes`文件夹中的所有文件拽入项目中\n* 导入主头文件：`#import \"SCLoopScrollView.h\"`\n\n## 效果图\n![](http://i1.tietuku.com/7db519b122670a90.gif)\n\n## Code\n### 手动编码\n```objc\nNSArray *images = @[@\"http://e.hiphotos.baidu.com/image/w%3D310/sign=429b5adbbb014a90813e40bc99763971/622762d0f703918ffc60d8a3533d269759eec422.jpg\",\n                    [UIImage imageNamed:@\"0\"],\n                    @\"http://g.hiphotos.baidu.com/image/w%3D310/sign=9b62b9f379899e51788e3c1572a6d990/8718367adab44aed80ebd4eab11c8701a18bfb13.jpg\",\n                    [UIImage imageNamed:@\"1\"],\n                    @\"http://f.hiphotos.baidu.com/image/w%3D310/sign=544d5da6324e251fe2f7e2f99787c9c2/0824ab18972bd40720832c6179899e510eb309e1.jpg\",\n                    @\"http://www.huabian.com/uploadfile/2014/1008/20141008103712898.jpg\"];\n\nSCLoopScrollView *scrollView = [[SCLoopScrollView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.view.frame.size.width, 300.0f)];\n[self.view addSubview:scrollView];\nscrollView.images = images;\n[scrollView show:^(NSInteger index) {\n    NSLog(@\"Current Index:%@\", @(index));\n} finished:^(NSInteger index) {\n    NSLog(@\"Tap Index:%@\", @(index));\n}];\n```\n\n### 通过故事板\n```objc\nNSArray *images = @[@\"http://e.hiphotos.baidu.com/image/w%3D310/sign=429b5adbbb014a90813e40bc99763971/622762d0f703918ffc60d8a3533d269759eec422.jpg\",\n                    [UIImage imageNamed:@\"0\"],\n                    @\"http://g.hiphotos.baidu.com/image/w%3D310/sign=9b62b9f379899e51788e3c1572a6d990/8718367adab44aed80ebd4eab11c8701a18bfb13.jpg\",\n                    [UIImage imageNamed:@\"1\"],\n                    @\"http://f.hiphotos.baidu.com/image/w%3D310/sign=544d5da6324e251fe2f7e2f99787c9c2/0824ab18972bd40720832c6179899e510eb309e1.jpg\",\n                    @\"http://www.huabian.com/uploadfile/2014/1008/20141008103712898.jpg\"];\n\n_scrollView.images = images;\n[_scrollView show:^(NSInteger index) {\n    NSLog(@\"Current Index:%@\", @(index));\n} finished:^(NSInteger index) {\n    NSLog(@\"Tap Index:%@\", @(index));\n}];\n```",
  "homepage": "https://github.com/shicang1990/SCLoopScrollView",
  "screenshots": "http://i1.tietuku.com/7db519b122670a90.gif",
  "license": "MIT",
  "authors": {
    "ShiCang": "shicang1990@gmail.com"
  },
  "platforms": {
    "ios": "6.0"
  },
  "source": {
    "git": "https://github.com/shicang1990/SCLoopScrollView.git",
    "tag": "0.5.2"
  },
  "source_files": "Classes/",
  "requires_arc": true
}
