//
//  ViewController.m
//  UIScollView
//
//  Created by hehe on 15/9/25.
//  Copyright (c) 2015年 wang.hehe. All rights reserved.
//

#import "ViewController.h"
#define width_screen self.view.bounds.size.width
#define height_screen self.view.bounds.size.height

@interface ViewController ()
{
 
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.view.backgroundColor = [UIColor grayColor];
    
    [self createUiScroview];  //创建滚动视图
    
    [self createLabel]; //第几页
    
    [self creatUIPageControl];   //创建页面控制器
    
}

#pragma mark    ------------------------createLabel
- (void)createLabel
{
    UILabel *label= [[UILabel alloc]init];
    
    label.frame = CGRectMake(0, height_screen-50, 50, 50);
    
    label.text = @"第一页";
    
    label.textColor = [UIColor redColor];
    
    label.font =  [UIFont systemFontOfSize:20];
    
    label.textAlignment = 1;
    
    label.adjustsFontSizeToFitWidth = YES;
    
    [self.view addSubview:label];
    
    label.tag = 11;
    
}

#pragma mark    ------------------------creatUIPageControl
- (void)creatUIPageControl
{
    UIPageControl *pc = [[UIPageControl alloc] init];
    
    pc.frame = CGRectMake(100, height_screen-30, 200, 30);
    
    [self.view addSubview:pc];
    
    pc.numberOfPages = 4;   //多少页
    
    pc.currentPage = 1;     //当前页数
    
    pc.pageIndicatorTintColor = [UIColor greenColor];   //页的颜色
    
    pc.currentPageIndicatorTintColor = [UIColor orangeColor];//当前页颜色
    
    pc.backgroundColor = [UIColor whiteColor];//加背景颜色
    
    [self.view addSubview:pc];
    
    pc.tag = 101;
}

#pragma mark    ------------------------滚动视图协议方法
//实现代理的方法
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    //实现缩放功能,需要两步,第二部
    //在滚动视图中对哪一个视图进行缩放
    return scrollView.subviews[0];

}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    
    UILabel *label1 = (id)[self.view viewWithTag:11];
    
    UIPageControl *pc1 = (id)[self.view viewWithTag:101];

int offset = scrollView.contentOffset.x/self.view.bounds.size.width;
    
    if(offset==5)
    {
        scrollView.contentOffset = CGPointMake(self.view.bounds.size.width*1, 0);
    }
    else if (offset==0)
    {
        scrollView.contentOffset = CGPointMake(self.view.bounds.size.width*4, 0);
    }

switch (offset)
    {
        case 0:
        {
            label1.text = @"第四页";
            pc1.currentPage = 3;
            break;
        }
        case 1:
        {
            pc1.currentPage = 0;
            label1.text = @"第一页";
            break;
        }
        case 2:
        {
            pc1.currentPage = 1;
            label1.text = @"第二页";
            break;
        }
        case 3:
        {
            pc1.currentPage = 2;
            label1.text = @"第三页";
            break;
        }
        case 4:
        {
            pc1.currentPage = 3;
            label1.text = @"第四页";
            break;
        }
        case 5:
        {
            pc1.currentPage = 0;
            label1.text = @"第一页";
            break;
        }
        default:
            break;
    }
}

- (void)createUiScroview
{
    //创建滚动视图对象
    UIScrollView *sv = [[UIScrollView alloc] init];
    
    sv.frame = self.view.bounds;
    
    [self.view addSubview:sv];
    
    sv.backgroundColor = [UIColor orangeColor];
    
    sv.contentOffset = CGPointMake(self.view.bounds.size.width,0);  //偏移量是一个点
    
    //设置每页的图片,大小
    for(int i=0;i<6;i++)
    {
        UIImageView *iv = [[UIImageView alloc] initWithFrame:CGRectMake(self.view.bounds.size.width*i, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
        
        [sv addSubview:iv];
        
        if(i==0)
        {
            iv.image = [UIImage imageNamed:@"3"];
        }
        else if (i==5)
        {
            iv.image = [UIImage imageNamed:@"0"];
        }
        else
        {
            iv.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d",i-1]];
        }
        
    }
    sv.contentSize = CGSizeMake(self.view.bounds.size.width*6, self.view.bounds.size.height);
    
    //UIImageView *iv = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"4.jpg"]];//这个方法加入的原图大小
    
    sv.bounces = NO;   //控制是否反弹,默认是反弹的
    
    sv.indicatorStyle = UIScrollViewIndicatorStyleWhite;//设置滚动条的样式
    
    sv.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0 , 0, 30);//设置滚动条的位置
    
    sv.showsVerticalScrollIndicator = NO;//设置隐藏滚动条
    sv.showsHorizontalScrollIndicator = NO;
    
    //sv.scrollEnabled = NO;//设置是否滚动,让不让滚动
    
    sv.pagingEnabled = YES; //按页滚动,最后必须进去某一页//设置按页滚动
    
    sv.scrollsToTop = NO;  //默认是Yes//设置在下边的时候可以回到顶部
    
    sv.delegate = self; //有代理<UIScrollViewDelegate>
    
    //设置pinch第一步
    sv.minimumZoomScale = 0.5;//最小缩放比例,默认值是1
    sv.maximumZoomScale = 5;
    
    //设置减速率:1往后的差不多,值越大挺的越慢
    sv.decelerationRate = 0;
}

@end

滚动视图和页面控制UIScollView,UIpageControlDemo的更多相关文章

  1. 制作滚动视图(ScrollView)

    怎样判断是否应当使用滚动视图 所谓的滚动视图,是指一个可以滑动的视窗,视窗大小和位置固定不变,视窗内的内容用户可以通过手指滑动或者拖动滚动天来进行滚动浏览. 滚动视图的目的是为了解决同类内容过多,一个 ...

  2. swift:创建滚动视图的图片轮播器

    用swift创建图片轮播器和用OC创建的方式是一样的,都主要用到UIScrollView和UIImageview这两个控件,有几张图片,就将滚动视图的内容区域大小设置为每一张图片的大小乘以张数即可.然 ...

  3. IOS-UI- UIScrollView 滚动视图(1)

    滚动视图多个页面实现的原理 滚动视图位置不变 内容的位置发生改变. 滚动视图的运用1.分页查看图片 2.查看大图片 3.当内容过多需要一个页面显示,如:注册,修改个人信息等等4.当不希望用户感觉咱们的 ...

  4. Android应用--新浪微博客户端新特性滚动视图和启动界面实现

    新浪微博客户端新特性滚动视图和启动界面实现 2013年8月20日新浪微博客户端开发之启动界面实现 前言: 使用过新浪微博客户端的童鞋都清楚,客户端每一次升级之后第一次启动界面就会有新特性的介绍,用户通 ...

  5. UGUI 滚动视图

    滚动视图是常用的UI控件之一,它是由多个基本控件组合而成.如图 ==================================================================== ...

  6. Swift - 滚动视图(UIScrollView)的用法

    1,当图片尺寸超过屏幕时,使用UIScrollView可以实现滚动条视图,即手指触摸滚动屏幕方便浏览整个页面. 1 2 3 4 5 6 var scrollView=UIScrollView() sc ...

  7. 雷林鹏分享:jQuery EasyUI 数据网格 - 使用虚拟滚动视图显示海量数据

    jQuery EasyUI 数据网格 - 使用虚拟滚动视图显示海量数据 数据网格(datagrid)的虚拟滚动特性可以用来显示大数量的记录而不需要分页. 当滚动垂直滚动条时,数据网格(datagrid ...

  8. UIScrollView 滚动视图—IOS开发

    转自:http://blog.csdn.net/iukey/article/details/7319314 UIScrollView 类负责所有基于 UIKit 的滚动操作. 一.创建 CGRect  ...

  9. OCUI界面设计:滚动视图与分页控件初探

    滚动视图(UIScrollView) 简单介绍 1.UIScrollView滚动视图能够排列并显示超出自身显示范围的内容. 2.UIScrollView内部整合了多种手势来达到丰富的界面展示效果. 3 ...

随机推荐

  1. Looksery Cup 2015 B. Looksery Party 暴力

    B. Looksery Party Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/549/pro ...

  2. UVA1099----Sharing Chocolate----在集合上的DP

    题目地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  3. linux C(hello world)程序调试

    程序的调试(先得安装gdb工具,以root身份执行命令:sudo apt-get install gdb) 程序的调试是一个很重要的环节,windows IDE下那些强大的调试功能,Linux以什么来 ...

  4. android手势事件 快速移动 长按触摸屏 按下触摸屏,并拖动

    /* 用户按下触摸屏.快速移动后松开 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float vel ...

  5. 【Unity3D】【NGUI】怎样动态给EventDelegate加入參数

    NGUI版本号:3.6.8 注意:參数必须是公共成员变量.不能是栈上的.或者私有的(就是暂时在函数里面定义的或者是函数的參数都不行) using UnityEngine; using System.C ...

  6. Perl小知识点之排序sort

    脚本这种东西,就是要常用,否则一段时间不用就生疏了,因此决定时时记一些小知识点,一来回顾一下,二来需要的时候可以迅速获得提示. Sort by number You could now write a ...

  7. 20 Free Open Source Web Media Player Apps

    free Media Players (Free MP3, Video, and Music Player ...) are cool because they let web developers ...

  8. C++中临时对象的学习笔记

    http://www.cppblog.com/besterChen/category/9573.html 所属分类: C/C++/STL/boost  在函数调用的时候,无论是参数为对象还是返回一个对 ...

  9. QT 操作oracle数据库遇到的问题

    一.首先参考官方文档: http://qt-project.org/doc/qt-4.8/sql-driver.html#qoci 二.编译驱动: http://www.tuicool.com/art ...

  10. Web安全XSS

    Web安全XSS 简单的反射型XSS钓鱼演示 </form> <script> function hack(){ XSSImage=new Image; XSSImage.sr ...