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 ...
随机推荐
- [转载]CENTOS 6.0 iptables 开放端口80 3306 22端口
原文地址:6.0 iptables 开放端口80 3306 22端口">CENTOS 6.0 iptables 开放端口80 3306 22端口作者:云淡风轻 #/sbin/iptab ...
- 今日头条 2018 AI Camp 5 月 26 日在线笔试编程题第一道——最佳路径
题目 给定一个 n*m 的矩阵 A ,矩阵中每一个元素为一个十六进制数.寻找一条从左上角都右下角的路径,每次只能向右或者向下移动, 使得路径上所有数字之积在 16 进制下的后缀 0 最少. 输入描述: ...
- 2018Java研发实习内推
作者:sdu王镜鑫链接:https://www.nowcoder.com/discuss/74573?type=0&order=4&pos=7&page=1来源:牛客网 本人某 ...
- 水仙花数---基于python
# coding:utf-8"""水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153) ...
- POJ 3384 Feng Shui(计算几何の半平面交+最远点对)
Description Feng shui is the ancient Chinese practice of placement and arrangement of space to achie ...
- html5 canvas绘制环形进度条,环形渐变色仪表图
html5 canvas绘制环形进度条,环形渐变色仪表图 在绘制圆环前,我们需要知道canvas arc() 方 ...
- java---Map接口实现类
Map是一个双列集合接口,如果实现了Map接口,特点是数据以键值对形式存在,键不可重复,值可以重复.java中主要有HashMap.TreeMap.Hashtable.本文主要介绍Map的接口方法: ...
- 3DMAX贴图无法显示
问题描述:我在点击"将材质指定给选定对象"按钮之后,模型只是变灰了,没有显示出我贴的图. 原因是:没有显示贴图. 我的解决方案:点击材质编辑器里面的"视口中显示敏感处理材 ...
- exception = {"元数据集合中已存在具有标识“xxx”的项。\r\n参数名: item"}
vs提示:exception = {"元数据集合中已存在具有标识"xxx"的项.\r\n参数名: item"} 出现这个错误说明有重复的字段,有可能是继承的类里 ...
- thinkphp5学习记录一
1 使用composer安装 composer create-project topthink/think=5.0.* tpblog --prefer-dist 2 配置环境vim /usr/loca ...