scrollview 例子2

代码:

#import "RootViewController.h"

@implementation RootViewController
@synthesize scrollView;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    int pageCount = 3;
    scrollView = [[UIScrollView alloc]initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    [self.view addSubview:scrollView];

    scrollView.backgroundColor = [UIColor redColor];
    scrollView.scrollEnabled = NO;
    scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * pageCount, scrollView.frame.size.height);
    scrollView.pagingEnabled = YES;
    scrollView.showsHorizontalScrollIndicator = YES;
    scrollView.delegate = self;

    CGRect rect = [[UIScreen mainScreen]bounds];
    NSArray *colors = [NSArray arrayWithObjects:[UIColor yellowColor], [UIColor blueColor], [UIColor purpleColor], nil];

    for (int i = 0; i < pageCount; i++) {

        CGRect aRect = CGRectMake(rect.origin.x + (i * rect.size.width), rect.origin.y,
                                  rect.size.width, rect.size.height);
        UIView *view1 = [[UIView alloc]initWithFrame:aRect];
        view1.backgroundColor = colors[i];
        [scrollView addSubview:view1];
    }

    [self moveToPage:3];
}

- (void) moveToPage:(int)index
{
    index--;
    CGRect rect = [[UIScreen mainScreen]bounds];
    CGPoint point = CGPointMake(rect.size.width * index, 0);
    [scrollView setContentOffset:point];
}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    // 拖拽完毕以后调用
    int index = [self getPageIndex:scrollView];
    NSLog(@"index = %d",index);
}

-(int) getPageIndex:(UIScrollView *)scrollView
{
    return fabs(scrollView.contentOffset.x) /  scrollView.frame.size.width;
}

@end
时间: 2024-11-10 08:40:20

scrollview 例子2的相关文章

四种方案解决ScrollView嵌套ListView问题(转)

在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全.我试过很多种方法,它们各有利弊. 在这里我将会从使用ScrollView嵌套ListView结构的原因.这个结构碰到的问题.几种解决方案和优缺点比较,这4个方面来为大家阐述.分析.总结. 实际上不光是ListView,其他继承自AbsListView的类也适用,包括ExpandableListView.GridView等等,为了方便说明,以下均用ListView来代表. 一. 为什么要使用S

android源码大放送(实战开发必备),免费安卓demo源码,例子大全文件详细列表

免费安卓demo源码,例子大全文件详细列表 本列表源码永久免费下载地址:http://www.jiandaima.com/blog/android-demo 卷 yunpan 的文件夹 PATH 列表 卷序列号为 0000-73EC E:. │ jiandaima.com文件列表生成.bat │ 例子大全说明.txt │ 本例子永久更新地址~.url │ 目录列表2016.03.10更新.txt │ ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签

安卓开发中ScrollView不能用RelativeLayout的解决方案

RelativeLayout的意义: 布局各个部件的相对布局.使得界面空间合理利用. 一.ScrollView局限: 滑动的只能是linearlayout,甚至整个布局都不能有RelativeLayout.这使得让人觉得ScrollView控件有点鸡肋.其实不然.......... linearlayout跟RelativeLayout布局在界面上来看只是空间间隔的区别,而在liearlayout中有一个<View/>能占用空间,单单用linearlayout要达到    RelativeLa

ScrollView

一,创建和配置Scroll Views:1,创建Scroll Views:Scroll views的创建和其他view一样,通过代码或IB.只需要一点附加的配置来获得基本的scrolling能力.1)你必须设置contentSize属性.这个属性指定了可滑动区域的尺寸.2)你必须向Scroll views增加一个view或views来让其显示和滚动. 2,在IB中创建Scroll views:拖动一个UIScrollView到目标区域.然后连接出口即可.虽然IB中的UIScrollView属性检

scrollView的几个属性contentSize contentOffset contentInset

contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍. contentOffset是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,480),也就是y偏移了480 contentInset是scrollview的contentview

四种方案解决ScrollView嵌套ListView问题

在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全.我试过很多种方法,它们各有利弊. 在这里我将会从使用ScrollView嵌套ListView结构的原因.这个结构碰到的问题.几种解决方案和优缺点比较,这4个方面来为大家阐述.分析.总结. 实际上不光是ListView,其他继承自AbsListView的类也适用,包括ExpandableListView.GridView等等,为了方便说明,以下均用ListView来代表. 一. 为什么要使用S

Android ExpandableListView和ScrollView联用的一些注意事项

之前有整理过ScrollView嵌套ListView的例子,讲的是计算listview的每一项的高度.已达到目标效果.同样的ExpandableListView嵌套ScrollView也是这么个思路,不过要稍微加一些方法和稍微做一些改动. 要实现这个功能首先要准备三个基础的方法: 一.计算ExpandableListView的group项的高度的方法(即计算listview合并时的高度的方法)备注:ExpandableListView是listview的子类所以,listview的方法它同样可以

cocosStudio中使用PageView,ListView和ScrollView

晚上吃东西好像吃坏肚子了,.但是技术还要继续研究.最近工作中要使用CocosStudio做界面,好吧,不管对他有什么偏见,学习一下吧.这里主要记录一下三个控件的使用和说明.就是ScrollView,ListView和PageView. 首先大致的介绍一下这三个控件吧,scrollView顾名思义,滑动容器可以上下滑动,也可以左右滑动.PageView可以这么理解,它就是scrollView的超级版,因为它是整页滑动.listView是列表容器,它相对与其它两个控件来讲,它不不能添加精灵.粒子.声

关于ScrollView无法滚动的解决方案

今天做了一个ScrollView的小例子(我的环境Xcode5 IOS7),结果发现无法滚动,即使设置了scrollView的contentSize还是不行,于是研究了一番,最终找到了解决方案: 在ios6之前,因为Xcode没有Autolayout的机制,所以直接使用scrollView,设置它的contentSize即可正常滚动 在ios6之后,因为Xcode引入了Autolayout的机制,所以我们设置的contentSize被修改为适合屏幕大小的值,也就是说自适应啦,因此无法滚动,解决方