//
// ViewController.h
// UI2_ScrollView&UIPageControl
//
// Created by zhangxueming on 15/7/10.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
// #import <UIKit/UIKit.h> @interface ViewController : UIViewController <UIScrollViewDelegate> @end
//
// ViewController.m
// UI2_ScrollView&UIPageControl
//
// Created by zhangxueming on 15/7/10.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
// #import "ViewController.h" #define ClipsBundleWidth ((self.view.frame.size.width-300)/2) @interface ViewController ()
{
UIScrollView *_scrollView;
UIPageControl *_pageControl;//页码
NSInteger _currentIndex;//记录当前显示的页码
}
@end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(ClipsBundleWidth, 64, 300, 450)];
_scrollView.contentSize = CGSizeMake(300*6, 450);
_scrollView.pagingEnabled = YES; for (int i=0; i<6; i++) {
NSString *imageName = [NSString stringWithFormat:@"%d",i];
NSString *path = [[NSBundle mainBundle] pathForResource:imageName ofType:@"png"];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(300*i, 0, 300, 450)];
imageView.image = [UIImage imageWithContentsOfFile:path];
[_scrollView addSubview:imageView];
} _pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(ClipsBundleWidth, 64+450, 300, 30)];
_pageControl.numberOfPages = 6;
_currentIndex = 0;
_pageControl.currentPage = _currentIndex;
_pageControl.backgroundColor = [UIColor blackColor]; [self.view addSubview:_pageControl]; UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeSystem];
backBtn.frame = CGRectMake(50, 64+450+30, (self.view.frame.size.width-100)/2, 30);
[backBtn setTitle:@"back" forState:UIControlStateNormal];
backBtn.titleLabel.font = [UIFont boldSystemFontOfSize:24];
[backBtn addTarget:self action:@selector(backBtnClicked) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:backBtn]; UIButton *forwardBtn = [UIButton buttonWithType:UIButtonTypeSystem];
forwardBtn.frame = CGRectMake(50+(self.view.frame.size.width-100)/2, 64+450+30, (self.view.frame.size.width-100)/2, 30);
[forwardBtn setTitle:@"forward" forState:UIControlStateNormal];
forwardBtn.titleLabel.font = [UIFont boldSystemFontOfSize:24];
[forwardBtn addTarget:self action:@selector(forwardBtnClicked) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:forwardBtn]; //代理
_scrollView.delegate = self; [self.view addSubview:_scrollView]; } - (void)backBtnClicked
{
_currentIndex--;
if (_currentIndex>=0) {
CGPoint point = CGPointMake(_currentIndex*300 , _scrollView.contentOffset.y);
[_scrollView setContentOffset:point animated:YES];
_pageControl.currentPage = _currentIndex;
}
else
{
_currentIndex = 5;
CGPoint point = CGPointMake(_currentIndex*300 , _scrollView.contentOffset.y);
[_scrollView setContentOffset:point animated:YES];
_pageControl.currentPage = _currentIndex;
}
} - (void)forwardBtnClicked
{
_currentIndex++;
if (_currentIndex<=5) {
CGPoint point = CGPointMake(_currentIndex*300, _scrollView.contentOffset.y);
[_scrollView setContentOffset:point animated:YES];
_pageControl.currentPage = _currentIndex;
}
else
{
_currentIndex = 5;
}
} - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
_currentIndex = scrollView.contentOffset.x/300;
_pageControl.currentPage = _currentIndex;
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end

UI2_ScrollView&UIPageControl的更多相关文章

  1. iOS-OC-基本控件之UIPageControl

    UIPageControl(页面控制器,就是桌面的那些小点点,每个点代表一个界面) 父类是 UIControl. iOS开发中常用的基本控件,主要和UIScrollView一起使用,比较常用的就是有些 ...

  2. UIScrollView,UIPageControl,UIImageView 实现图片轮播的效果

    上一篇博客介绍了如何将XCode创立的项目提交到Git版本控制,这次就直接做一个图片轮播的展示demo,刚好可以把UIScrollView.UIPageControl.UIImageView这三个控件 ...

  3. iOS开发 首次启动显示用户引导,第二次启动直接进入App,UIScrollView,UIPageControl,NSUserDefaults

    首先创建一个引导图的控制器类 UserGuideViewController.h和UserGuideViewController.m #import <UIKit/UIKit.h> #im ...

  4. UIscrollView和UIPageControl的循环滚动

    因为昨天在网上找了很久,很多只能实现向右滚动,而且一张图一个imageview ,感觉工作量很可怕啊 ,  下面的例子就是不论你多少图 , 只和我代码里面的几个数值有关,  只需要修改分页和循环i的最 ...

  5. iOS-UIScrollView和UIPageControl的综合实力,滚动图,轮播图

    本代码主要实现图片之间的切换 目录结构 代码 ViewController.m文件 #import "ViewController.h" @interface ViewContro ...

  6. iOS-设置UIPageControl 显示图片

    UIPageControl 的默认样式是几个小圆点,系统没有提供属性供我们自定义这几个小圆点的样式,不过我们依然可以使用KVC来自定义PageControl的显示样式 UIPageControl *p ...

  7. scrollView实现基础中心点缩放及与UIPageControl结合使用

    一般来说scrollView与UIPageControl都是结合使用,因为在使用滚动视图的时候 ,使用UIPageControl,用户可以 清楚 的明白显示的内容有多少页,如果 没有的话,总不能让用户 ...

  8. 自定义UIPageControl,可设置任意图片image。

    [self.pageControl setValue:[UIImage imageNamed:@"选中图片名称"] forKeyPath:@"_currentPageIm ...

  9. UIPageControl页控制器

    一.基本知识 #import "ViewController.h"@interface ViewController ()<UIScrollViewDelegate>{ ...

随机推荐

  1. FluorineFx对于现有站点的配置

    step 1:新建一个FluorineFX网站,作为参考 step 2:在现有网站添加FluorineFX网站的相关dll引用,并拷贝console.aspx和gateway.aspx至网站根目录(最 ...

  2. 三星galaxy s4问题解决及快捷操作

    http://blog.csdn.net/pipisorry/article/details/38474827 三星galaxy s4更改锁屏方式时出现故障 屏幕锁定设置除password以外,其它锁 ...

  3. iOS开发——多线程OC篇&(十一)多线程NSOperation高级用法

    自定义NSOperation 一.实现一个简单的tableView显示效果 实现效果展示: 代码示例(使用以前在主控制器中进行业务处理的方式) 1.新建一个项目,让控制器继承自UITableViewC ...

  4. 压缩工具和整盘备份工具dd

    一.使用gzip压缩文件 gzip是GNU zip的缩写. [命令格式] gzip [option] filename [常用选项] c:压缩后将结果输出到标准输出,并保留原始文件. d:解压缩文件. ...

  5. 1.6.3 Uploading Data with Solr Cell using Apache Tika

    1. Uploading Data with Solr Cell using Apache Tika solr使用Apache Tika工程的代码提供了一个框架,用于合并所有不同格式的文件解析器为so ...

  6. 1.6.1 什么是 Indexing

    这部分描述了建立索引的过程:添加内容到solr索引中,如果有需要,修改内容或者删除它.通过添加内容到索引里边,我们使其内容可以搜索. solr索引能够接收不同来源的数据,xml文件,逗号分隔值的(CV ...

  7. 【Open Search产品评测】-- 淘点点:基于OpenSearch,轻松实现一整套O2O类搜索解决方案

     [Open Search产品评测]--  淘点点:基于OpenSearch,轻松实现一整套O2O类搜索解决方案   [使用背景] 我们淘点点团队应该可以算是内网首批使用opensearch来搭建应用 ...

  8. 【安卓面试题】Activity和Task的启动模式有哪些?每种含义是什么?举例说明各自的应用场景

    Activity和Task的启动模式有哪些?每种含义是什么?举例说明各自的应用场景 Activity的启动模式 (Launchmode) 有4种 1.standard 默认模式,不需要配置 含义: 启 ...

  9. linux-启动停止重启shell 简单shell示例

    停止: #!/bin/bashpid=`ps -ef|grep /opt/lampp|grep -v grep|awk '{print $2}'|wc -l`b=0if [ $pid -gt $b ] ...

  10. 管理后台-第一部分:Creating custom sections in Umbraco 7 - Part 1(翻译文档)

    在Umbraco上每个部分都可以被称为一个应用程序,所以这些部分和应用程序基本上是一样的.我们首先要做的事情是需要创建应用程序.在这个例子中,我不会去摆弄xml文件或是数据库——我将使用类来创建我的内 ...