滚动视图和页面控制UIScollView,UIpageControlDemo
//
// 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的更多相关文章
- 制作滚动视图(ScrollView)
怎样判断是否应当使用滚动视图 所谓的滚动视图,是指一个可以滑动的视窗,视窗大小和位置固定不变,视窗内的内容用户可以通过手指滑动或者拖动滚动天来进行滚动浏览. 滚动视图的目的是为了解决同类内容过多,一个 ...
- swift:创建滚动视图的图片轮播器
用swift创建图片轮播器和用OC创建的方式是一样的,都主要用到UIScrollView和UIImageview这两个控件,有几张图片,就将滚动视图的内容区域大小设置为每一张图片的大小乘以张数即可.然 ...
- IOS-UI- UIScrollView 滚动视图(1)
滚动视图多个页面实现的原理 滚动视图位置不变 内容的位置发生改变. 滚动视图的运用1.分页查看图片 2.查看大图片 3.当内容过多需要一个页面显示,如:注册,修改个人信息等等4.当不希望用户感觉咱们的 ...
- Android应用--新浪微博客户端新特性滚动视图和启动界面实现
新浪微博客户端新特性滚动视图和启动界面实现 2013年8月20日新浪微博客户端开发之启动界面实现 前言: 使用过新浪微博客户端的童鞋都清楚,客户端每一次升级之后第一次启动界面就会有新特性的介绍,用户通 ...
- UGUI 滚动视图
滚动视图是常用的UI控件之一,它是由多个基本控件组合而成.如图 ==================================================================== ...
- Swift - 滚动视图(UIScrollView)的用法
1,当图片尺寸超过屏幕时,使用UIScrollView可以实现滚动条视图,即手指触摸滚动屏幕方便浏览整个页面. 1 2 3 4 5 6 var scrollView=UIScrollView() sc ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 使用虚拟滚动视图显示海量数据
jQuery EasyUI 数据网格 - 使用虚拟滚动视图显示海量数据 数据网格(datagrid)的虚拟滚动特性可以用来显示大数量的记录而不需要分页. 当滚动垂直滚动条时,数据网格(datagrid ...
- UIScrollView 滚动视图—IOS开发
转自:http://blog.csdn.net/iukey/article/details/7319314 UIScrollView 类负责所有基于 UIKit 的滚动操作. 一.创建 CGRect ...
- OCUI界面设计:滚动视图与分页控件初探
滚动视图(UIScrollView) 简单介绍 1.UIScrollView滚动视图能够排列并显示超出自身显示范围的内容. 2.UIScrollView内部整合了多种手势来达到丰富的界面展示效果. 3 ...
随机推荐
- Codeforces Round #311 (Div. 2) A. Ilya and Diplomas 水题
A. Ilya and Diplomas Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/557/ ...
- echarts通过ajax向服务器发送post请求,servlet从数据库读取数据并返回前端
1.echarts的官网上的demo,都是直接写死的随机数据,没有和数据库的交互,所以就自己写了一下,ok,我们开始一步一步走一遍整个流程吧. 就以官网最简单的那个小demo来做修改吧.官网上的小de ...
- 搭建一个全栈式的HTML5移动应用框架(纯干货,亲!)
打开HTML5的技术网站,满屏的“5个推荐的JavaScript框架”.“10个移动应用框架”,全都是你妹的框架, 但是,你知道这些框架是干毛用的吗?来吧,我们来梳理一下吧 目前HTML5涉及的框架大 ...
- 【JavaScript】你知道吗?Web的26项基本概念和技术
Web开发是比较费神的,需要掌握很多很多的东西,特别是从事前端开发的朋友,需要通十行才行.今天,本文向初学者介绍一些Web开发中的基本概念和用到的技术,从A到Z总共26项,每项对应一个概念或者技术. ...
- [AngularJS] Accessing Scope from The Console
Using Angular, you can actually access the scope and other things from the console, so when you have ...
- Autolayout环境设置任意个数相等间距排列的按钮的方法
摘要: 在storyboard中,想要用autolayout设置多个按钮按照相同的间距排列,并且自动根据屏幕宽度调整间距大小,就我了解的来说,没有直接的设置方法.我用storyboard+代码的方法实 ...
- cocos2dx 读取json及解析
ball.json 数据例如以下: { "entities": [ { "entity": { "TapOpposite": 0, &quo ...
- Python 读写文件和file对象(转)
1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.txt ...
- ASP.NET Core环境配置
一.环境准备 vs2015 update3 下载NET Core Tooling Preview 2 for Visual Studio 2015 (下载地址:https://go.microsoft ...
- c# 高效的线程安全队列ConcurrentQueue(下) Segment类
Segment成员变量 long long m_index; 记录该segment的索引号. int* volatile m_state; 状态数组,标识所对应的元素节点的状态,默认值为0,如果该元素 ...