{
  "name": "SCLoopScrollView",
  "version": "0.1",
  "summary": "A View Can Infinite Loop Scroll.",
  "description": "                   \n                    ##SCLoopScrollView\n\n                    A View Can Infinite Loop Scroll.\n                    SCLoopScrollView can infinite loop scroll.\n\n                    You can use Storyboard or init by yourself.\n                    -----------------\n\n                    Init By Yourself\n                    ```{bash}\n                        NSMutableArray *subViews = [@[] mutableCopy];\n                        for (NSInteger index = 0; index < 3; index++)\n                        {\n                            UIImageView *view = [[UIImageView alloc] init];\n                            view.image = [UIImage imageNamed:[NSString stringWithFormat:@\"%@\", @(index)]];\n                            view.backgroundColor = [UIColor redColor];\n                            [subViews addObject:view];\n                        }\n                        \n                        SCLoopScrollView *scrollView = [[SCLoopScrollView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.view.frame.size.width, 300.0f)];\n                        [self.view addSubview:scrollView];\n                        scrollView.items = subViews;\n                        [scrollView begin:^(NSInteger index) {\n                            NSLog(@\"%@\", @(index));\n                        } finished:nil];\n                    ```\n\n                    Init By Storyboard\n                    ```{bash}\n                        NSMutableArray *subViews = [@[] mutableCopy];\n                        for (NSInteger index = 0; index < 3; index++)\n                        {\n                            UIImageView *view = [[UIImageView alloc] init];\n                            view.image = [UIImage imageNamed:[NSString stringWithFormat:@\"%@\", @(index)]];\n                            view.backgroundColor = [UIColor redColor];\n                            [subViews addObject:view];\n                        }\n                        \n                        _scrollView.items = subViews;\n                        [_scrollView begin:^(NSInteger index) {\n                            NSLog(@\"%@\", @(index));\n                        } finished:nil];\n                    ```\n\n                   * Think: Why did you write this? What is the focus? What does it do?\n                   * CocoaPods will be using this to generate tags, and improve search results.\n                   * Try to keep it short, snappy and to the point.\n                   * Finally, don't worry about the indent, CocoaPods strips it!\n",
  "homepage": "https://github.com/shicang1990/SCLoopScrollView",
  "license": "MIT",
  "authors": {
    "ShiCang": "shicang1990@gmail.com"
  },
  "platforms": {
    "ios": "7.0"
  },
  "source": {
    "git": "https://github.com/shicang1990/SCLoopScrollView.git",
    "tag": "0.1"
  },
  "source_files": [
    "SCLoopScrollView",
    "SCLoopScrollView/*.{h,m}"
  ]
}
