ScrollView的使用

 UIScrollView:UIScrollView是一个滑动视图,可以通过滑动手势放或所缩小显示内容,包含两个子类:                              UITableView和UICollectionView

1.  UIScrollView


简介:

该视图是一个滑动视图,也可以通过滑动手势放大或缩小显示的内容

滑动的前提:视图的大小小于内容的大小

1.UIScrollViewd的创建(创建的是视图的大小)

1.1(创建视图的大小

UIScrollView* scrollerView = [[UIScrollView        alloc]initWithFrame:CGRectMake(0, 100,KSCreenWidth, 400)];

1.2设置内容的大小-只需要设置大小,位置不需要再确定(视图的大小小于内容的大小才能滑动,若不设定,默认与视图一样大)

scrollerView.contentSize = CGSizeMake(2*KSCreenWidth,2*400);

2.常用属性

2.1滑动视图能否开启滑动

scrollerView.scrollEnabled = NO;

2.2设置滚动条样式

scrollerView.indicatorStyle = UIScrollViewIndicatorStyleWhite

2.3设置水平滑动条 显示或关闭 默认yes显示

scrollerView.showsHorizontalScrollIndicator = NO;

2.4上下滑动条开启

scrollerView.showsVerticalScrollIndicator = NO;

2.5.关闭反弹效果

scrollerView.bouncesZoom = NO;

2.6.设置分页效果

scrollerView.pagingEnabled = YES;

2.7.设置内容相对于试图的偏移,设置内容偏移量  可以将点的x轴看做左右偏移,Y轴看做是上下偏移(默认是没有偏移的)

scrollerView.contentOffset =CGPointMake(40, 0);

3.其它属性

4.常用代理方法

scrollerView.delegate = self;

2.  捏合手势的使用



( 能很简单的使?用捏合?手势来进?行缩放,可以缩小或者放?大,只需要实现一个委托?法就可以,简单的?几个步骤就可以让滚动视图的?子视图?支持缩放功能。)

1.scrollView(视图的尺寸)
    UIScrollView* scrollView = [[UIScrollView alloc]initWithFrame:[UIScreen mainScreen].bounds];
    scrollView.backgroundColor = [UIColor redColor];
    [self.view addSubview:scrollView];
   
   
    2.设置一张图片视图
    UIImageView* imageView = [[UIImageView alloc]initWithFrame:scrollView.bounds];
    imageView.image = [UIImage imageNamed:@"2.jpg"];
    imageView.tag = 1000;           ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
    //把视图加载到我们的滑动视图上
    [scrollView addSubview:imageView];
   
    4.设置scrollView内容视图放大的最大倍数
    scrollView.maximumZoomScale = 4;

5.设置视图内容缩小的最小倍数
    scrollView.minimumZoomScale = 1;
   
   
    6.签定代理协议
    scrollView.delegate = self;

}
//必须在scrollView上进行捏合,需要传入需要捏合的图片,利用Tag来获取要捏合的图片
//捏合手势放大缩小时返回视图
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
   
    UIView* imageView = [scrollView viewWithTag:1000];
    return imageView;
   
   
}

3.分页视图


 -(void)creatPageControl{
   
     1.添加分页控件
     UIPageControl* pageC = [[UIPageControl alloc]initWithFrame:CGRectMake(KSWidth/2-80, 300, 160, 50)];

2.设置分页控件的页数
    pageC.numberOfPages = 3;

3.设置分页控件的首选页

pageC.currentPage = 0;

4.设置选中的颜色
    pageC.currentPageIndicatorTintColor = [UIColor blackColor];

//5.没选中的颜色
    pageC.pageIndicatorTintColor = [UIColor whiteColor];
    [self.view addSubview:pageC];
   
   
     6.增加点击方法
    [pageC addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];
   
}
-(void)pageAction:(UIPageControl*)page{
   
     1.获得当前page的页数,当前选中的下标
    NSInteger number = page.currentPage;
   
     2.滑动到我们的scrollerView的某个位置
   
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:.7];
   
     scrollerView.contentOffset = CGPointMake(KSWidth*number, 0);
    [UIView commitAnimations];

}

//最后实现的
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{
   
     获得我们的scrollerView的偏移量
    NSInteger number = targetContentOffset->x;
   
     设置当前pageC的量
    pageC.currentPage = number/375 ;
   
}

时间: 2024-08-07 12:05:34

ScrollView的使用的相关文章

Android零基础入门第61节:滚动视图ScrollView

原文:Android零基础入门第61节:滚动视图ScrollView 前面几期学习了ProgressBar系列组件.ViewAnimator系列组件.Picker系列组件和时间日期系列组件,接下来几期继续来学习常见的其他组件. 一.ScrollView概述 从前面的学习有的同学可能已经发现,当拥有很多内容时屏幕显示不完,显示不全的部分完全看不见.但是在实际项目里面,很多内容都不止一个屏幕宽度或高度,那怎么办呢?那就需要本节学习的ScrollView来完成. 在默认情况下,ScrollView只是

Android ScrollView 滚动到顶部

有时候使用ScrollView,里边控件比较多的时候,打开界面,会滑到底部,如果要设置滑动到顶部,一般有两种方法 1.使用fullScrol(),scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部 scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部 需要注意的是,该方法不能直接被调用 因为Android很多函数都是基于消息队列来同步,所以需要一部操作, addView完之后,不等于马上就会显示,而是在

Android仿qq回弹阻尼ScrollView

仿qq写一个可以来回弹的ScrollView. 只需要重写ScrollView: public class MyScrollView extends ScrollView {     // y方向上当前触摸点的前一次记录位置     private int previousY = 0;     // y方向上的触摸点的起始记录位置     private int startY = 0;     // y方向上的触摸点当前记录位置     private int currentY = 0;    

Android的GridView和ScrollView的嵌套

来源于回答频道答题,因此内容都是基于回答频道的原题布局进行 1.布局文件如下 文件名:testxm.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" andr

一句话让你的ScrollView、ListView弹力十足

android默认的ScrollView.ListView在最顶端下拉或者最底端上拉的时候,都不会带有反弹效果,很生硬的让你不能继续拖动,不像iOS那样可以回弹,个人认为,iOS的交互还是略好一点,那么我们也来在Android下实现下这个功能,先看下效果图: 那么我们今天的目标是一句话实现,如何去做呢 我们还是先看下代码: package com.xys.flexible; import android.content.Context; import android.util.Attribute

Android 控制ScrollView滚动到底部

这里有两种办法,第一种,使用scrollTo(): ublic static void scrollToBottom(final View scroll, final View inner) { Handler mHandler = new Handler(); mHandler.post(new Runnable() { public void run() { if (scroll == null || inner == null) { return; } int offset = inner

cocos2d js ScrollView的使用方法

游戏中非常多须要用到ScrollView的情况,也就是须要滚动一片区域. 这里有两种实现方法,一种是使用cocos studio的方式,另外一种是手写代码.先看第一种 第一种记得在设置滚动区域时选取裁剪项. var size = cc.winSize; //读取json文件 var root = ccs.uiReader.widgetFromJsonFile(res.listJson); this.addChild(root); //获取在cocos studio里面设定好的scrollView

微信小程序-scroll-view横向滚动和上拉加载

今天介绍微信小程序中scroll-view实现横向滚动和上拉加载的实现及需要注意的地方. 先看最终效果. 横向滚动 1.设置滚动项display:inline-block; 2.设置滚动视图容器white-space: nowrap; 3.滚动项不要用float 为什么会有以上三点要求呢? 其实横向滚动官方文档中是没有做太多说明的,只说明需要定义scroll-view滚动方向scroll-x=true允许横向滚动,但是我在实践的时候我发现,你要横向滚动,首先你得是一排吧.所以才发现需要定义滚动项

Android 横向ScrollView照片浏览器实现(致敬郭神)

因为项目中需要用到所以实现的一个横向的照片浏览器,使用横向SrollView实现. 实现效果如下: 实现思路: 在开始做之前呢,本着有轮子就用轮子的精神,也还是去百度找了很久,诸如"Android横向照片墙"."Android横向照片流"."Android横向照片选择器"-完全没有好咩..查来查去都是那几篇竖向照片瀑布流的,横向的反正我是没找到. 然后,在将郭神的<ndroid瀑布流照片墙实现,体验不规则排列的美感>一文拜读之后(ht

安卓使ScrollView滚动到底部代码

在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等, 这里有两种办法,第一种,使用scrollTo(): public static void scrollToBottom(final View scroll, final View inner) { // 何问起 hovertree.com Handler mHandler = new Handler(); mHandler.post(new Runnable() { public void run() { if (