//
// ViewController.m
// Ocproject
//
// Created by wenzhe yi on 2018/2/28.
// Copyright © 2018年 wenzhe yi. All rights reserved.
// #import "Shuanghui.h"
#import "ViewController.h" #define imageCount 5 #define kscrollviewsize (_scrollView.frame.size) @interface ViewController()<UIScrollViewDelegate> @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) IBOutlet UIPageControl *pageController; @property(strong,nonatomic) NSTimer *timer; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib. [self initUi]; [self initPageController];
[self initTimer]; } -(void)initTimer{
_timer = [NSTimer scheduledTimerWithTimeInterval: target:self selector:@selector(autoBanner) userInfo:nil repeats:YES];
}
-(void)initUi{
[self initScrollView]; } //开始拖拽的时候计时器停止
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
[_timer invalidate];
} //拖拽结束的时候在开启定时器
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
[self initTimer];
}
-(void)initPageController{
_pageController.numberOfPages=imageCount; //非选中颜色
_pageController.pageIndicatorTintColor=[UIColor grayColor]; //选中的颜色
_pageController.currentPageIndicatorTintColor=[UIColor redColor]; //当前页
_pageController.currentPage=;
}
-(void)initScrollView{
// UIImageView *iv = [[UIImageView alloc]initWithFrame:_scrollView.bounds];
//
// //设图片
// iv.image=[UIImage imageNamed:@"img_01"];
//
// //添加
// [_scrollView addSubview:iv]; // CGSize scrollViewSize=_scrollView.frame.size; for (int i=; i<imageCount; i++) { CGFloat imageX=i*kscrollviewsize.width; UIImageView *iv =[[UIImageView alloc] initWithFrame:CGRectMake(imageX, , kscrollviewsize.width, kscrollviewsize.height)]; //imagepath string
NSString *path=[NSString stringWithFormat:@"img_%02d",i+]; //设置pic
iv.image=[UIImage imageNamed:path]; //add [_scrollView addSubview:iv];
}
_scrollView.contentSize=CGSizeMake(*kscrollviewsize.width, ); //隐藏滚动条
_scrollView.showsHorizontalScrollIndicator=NO; //分页效果
_scrollView.pagingEnabled=YES;
//代理
_scrollView.delegate=self;
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} -(void)needMoreMeet{
NSLog(@"I LIST");
}
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{ }
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ _pageController.currentPage=scrollView.contentOffset.x/kscrollviewsize.width; } //无线循环轮播点击事件
- (IBAction)move:(id)sender {
[self autoBanner];
} -(void)autoBanner{
CGPoint offset=_scrollView.contentOffset; NSInteger currentPage = _pageController.currentPage; if(currentPage==imageCount-){
currentPage=;
offset=CGPointZero; }else{
currentPage+=;
offset.x+=kscrollviewsize.width;
} _pageController.currentPage=currentPage;
[_scrollView setContentOffset:offset animated:YES]; } @end

ios轮播的更多相关文章

  1. 一步一步拆解一个简单的iOS轮播图(三图)

    导言(可以不看): 不吹不黑,也许是东半球最简单的iOS轮播图拆分注释(讲解不敢当)了(tree new bee).(一句话包含两个人,你能猜到有谁吗?提示:一个在卖手机,一个最近在卖书)哈哈... ...

  2. iOS -- 轮播图

    UIScrollView + 多张 ImageView 实现轮播 实现原理: 将所有图片的名字储存在数组 imageAry 中,imageAry 的元素个数为 num,在 scrollView 上添加 ...

  3. IOS轮播图

    轮播图播放的主要技术在于: cell的封装.这里采用UICollectionViewCell实现. #import <UIKit/UIKit.h> @interface CircleVie ...

  4. iOS 轮播中遇到的问题(暂停、重新启动)

    一. 轮播的优化或者用Collection来实现 二.Timer  问题 我们可以这样来使用一个Timer [NSTimer scheduledTimerWithTimeInterval:1.0 ta ...

  5. ios轮播图片用法

    // // ZQRViewController.m // 04-图片轮播器 // // Created by apple on 17-08-24. // Copyright (c) 2017年 zzq ...

  6. iOS:实现图片的无限轮播(二)---之使用第三方库SDCycleScrollView

    iOS:实现图片的无限轮播(二)---之使用第三方库SDCycleScrollView 时间:2016-01-19 19:13:43      阅读:630      评论:0      收藏:0   ...

  7. iOS开发之ImageView复用实现图片无限轮播

    在上篇博客中iOS开发之多图片无缝滚动组件封装与使用给出了图片无限轮播的实现方案之一,下面在给出另一种解决方案.今天博客中要说的就是在ScrollView上贴两个ImageView, 把ImageVi ...

  8. ReactNative新手学习之路04 组件化开发轮播图swiper支持安卓和IOS

    react native 新手之路04 组件化开发轮播图swiper支持安卓和IOS npm install react-native-carousel --save git 地址Properties ...

  9. iOS 图片轮播图(自动滚动)

    iOS 图片轮播图(自动滚动) #import "DDViewController.h" #define DDImageCount 5 @interface DDViewContr ...

随机推荐

  1. servlet和Jsp的复习整理

    servlet 1.生命周期 a.构造方法.生成一个servlet b.init()方法.当开启服务器时,servlet第一次被装载,servlet引擎调用这个servlet的init()的方法,只调 ...

  2. 聊一聊 Flex 中的 flex-grow、flex-shrink、flex-basis

    在使用 flex 布局的时候难以理解的是 flex-grow.flex-shrink.flex-basis 几个属性的用法,下面通过几个例子来演示. flex-basis flex-basis 用于设 ...

  3. UVa 401 - Palindromes 解题报告 - C语言

    1.题目大意 输入字符串,判断其是否为回文串或镜像串.其中,输入的字符串中不含0,且全为合法字符.以下为所有的合法字符及其镜像: 2.思路 (1)考虑使用常量数组而不是if或switch来实现对镜像的 ...

  4. 从hive导入到oracle(Hcatalog)

    1.使用catalog的情况下: sqoop export --table tableName2 \ #oracle表 --connect jdbc:oracle:thin:@127.0.0.1:15 ...

  5. ZOJ 2760 How Many Shortest Path(最短路径+最大流)

    Description Given a weighted directed graph, we define the shortest path as the path who has the sma ...

  6. Java学习个人备忘录之抽象类

    抽象类 特点:1. 方法只有声明没有实现时,该方法就是抽象方法,需要被abstract修饰,抽象方法必须定义在抽象类中.该类必须也被abstract修饰2. 抽象类不可以被实例化. 为什么?  因为调 ...

  7. Mysql 工作原理

    刚开始接触一个新的事物的时候,我觉得很有必要从其工作原理入手,弄清楚这个东西的来龙去脉,为接下来的继续深入学习做好铺垫,掌握好其原理有助于我们从整体上来把握这个东西,并且帮助我们在排错过程中理清思路. ...

  8. zookeeper伪集群安装

    记录下zookeeper伪分布式搭建的过程,假设系统已经配置好了JAVA环境. 1.准备环境 linux服务器一台,下载某个版本的zookeeper压缩包,下载链接:http://apache.cla ...

  9. 使用图片方式显示email地址

    import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D ...

  10. == 和equal的区别?-005

    1,== 和equal的区别? ==比较两个值是否相等,equal比较对对象的引用是否一致 举例: int a = 2; int b = 2; System.err.println(a == b);/ ...