ios轮播
//
// 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轮播的更多相关文章
- 一步一步拆解一个简单的iOS轮播图(三图)
导言(可以不看): 不吹不黑,也许是东半球最简单的iOS轮播图拆分注释(讲解不敢当)了(tree new bee).(一句话包含两个人,你能猜到有谁吗?提示:一个在卖手机,一个最近在卖书)哈哈... ...
- iOS -- 轮播图
UIScrollView + 多张 ImageView 实现轮播 实现原理: 将所有图片的名字储存在数组 imageAry 中,imageAry 的元素个数为 num,在 scrollView 上添加 ...
- IOS轮播图
轮播图播放的主要技术在于: cell的封装.这里采用UICollectionViewCell实现. #import <UIKit/UIKit.h> @interface CircleVie ...
- iOS 轮播中遇到的问题(暂停、重新启动)
一. 轮播的优化或者用Collection来实现 二.Timer 问题 我们可以这样来使用一个Timer [NSTimer scheduledTimerWithTimeInterval:1.0 ta ...
- ios轮播图片用法
// // ZQRViewController.m // 04-图片轮播器 // // Created by apple on 17-08-24. // Copyright (c) 2017年 zzq ...
- iOS:实现图片的无限轮播(二)---之使用第三方库SDCycleScrollView
iOS:实现图片的无限轮播(二)---之使用第三方库SDCycleScrollView 时间:2016-01-19 19:13:43 阅读:630 评论:0 收藏:0 ...
- iOS开发之ImageView复用实现图片无限轮播
在上篇博客中iOS开发之多图片无缝滚动组件封装与使用给出了图片无限轮播的实现方案之一,下面在给出另一种解决方案.今天博客中要说的就是在ScrollView上贴两个ImageView, 把ImageVi ...
- ReactNative新手学习之路04 组件化开发轮播图swiper支持安卓和IOS
react native 新手之路04 组件化开发轮播图swiper支持安卓和IOS npm install react-native-carousel --save git 地址Properties ...
- iOS 图片轮播图(自动滚动)
iOS 图片轮播图(自动滚动) #import "DDViewController.h" #define DDImageCount 5 @interface DDViewContr ...
随机推荐
- List和String数组相互转化
在工作中经常会遇到需要String[] 参数的地方,我们可以先定义一个list,再转成String[] 来使用,使用list的好处自然是可以随时方便的添加删除元素,下面是方法: List list = ...
- Greedy Gift Givers 贪婪的送礼者
Description 对于一群要互送礼物的朋友,TRW要确定每个人送出的钱比收到的多多少.在这一个问题中,每个人都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人.然而,在任何一群 ...
- c# 编译的dll看不见注释问题
1.项目属性---->生成----->勾选XML文档文件: 2.使用的时候该文件和dll放在一块.
- 爬取CVPR 2018过程中遇到的坑
爬取 CVPR 2018 过程中遇到的坑 使用语言及模块 语言: Python 3.6.6 模块: re requests lxml bs4 过程 一开始都挺顺利的,先获取到所有文章的链接再逐个爬取获 ...
- Java中的死锁问题
死锁问题: 例如有两个线程, 线程1与线程2. 线程1在执行的过程中, 要锁定对象1, 2才能完成整个操作, 首先锁定对象1, 再锁定对象2. 线程2在执行的过程中, 要锁定对象2, 1才能完成整个操 ...
- eg_1
1. 编写一个程序,输出一个字符串中的大写英文字母个数,小写英文字母个数以及非英文字母个数. 第一种方法: public class Test { public static void main(St ...
- OSG学习:位置变换节点示例
osg::PositionAttitudeTransform节点. #include <osgViewer\Viewer> #include <osg\Node> #inclu ...
- Token安全
token相对安全加密算法 http://blog.csdn.net/q8649912/article/details/52370565 关于文章的理解 1 sessionid 这个名词应该理解为:一 ...
- extract函数行结果
$arr2=array('a'=>'aaaa','b'=>'bbbb','c'=>'cccc','d'=>'dddd','e'=>'eeeee','b'=>'fff ...
- delphi 更改DBGrid 颜色技巧
1.根据条件更改某一单元格的颜色 procedure TMainFrm.First_DGDrawColumnCell(Sender: TObject; const Rect: TRect; DataC ...