UI-ScrollView的使用

//相对位置,学会使用-scrollView.contentSize = CGSizeMake(320*3,160);
#import "ViewController.h"

@interface ViewController ()
{
    UIScrollView *_scrollView1;
    UIScrollView *_scrollView2;
    UIScrollView *_scrollView3;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    _scrollView1 = [[UIScrollView alloc]init];
    _scrollView1.frame = CGRectMake(0, 0, 320, 160);
    _scrollView1.bounces = NO;
    _scrollView1.pagingEnabled = YES;
    _scrollView1.delegate = self;
    _scrollView1.tag = 2;
    _scrollView1.contentSize = CGSizeMake(320*3, 160);
    [self.view addSubview:_scrollView1];
    for (int i = 0; i < 3; i++) {
        UILabel * label = [[UILabel alloc]init];
        label.frame = CGRectMake(320*i, 0, 320, 160);
        label.backgroundColor = [UIColor redColor];
        label.text = [NSString stringWithFormat:@"%d 只鸡",i+1];
        label.font = [UIFont boldSystemFontOfSize:30];
        label.textAlignment = NSTextAlignmentCenter;
        [_scrollView1 addSubview:label];
    }

    _scrollView2 = [[UIScrollView alloc]init];
    _scrollView2.frame = CGRectMake(0, 160, 320, 160);
    _scrollView2.bounces = NO;
    _scrollView2.pagingEnabled = YES;
    _scrollView2.contentSize = CGSizeMake(320*3, 160);
    _scrollView2.delegate = self;
    _scrollView2.tag = 4;
    [self.view addSubview:_scrollView2];
    for (int i =0; i<3; i++) {
        UILabel * label = [[UILabel alloc]init];
        label.frame = CGRectMake(320*i, 0, 320, 160);//这里是相对于scrollView设定的
        label.backgroundColor = [UIColor blueColor];
        label.textAlignment = NSTextAlignmentCenter;
        label.text = [NSString stringWithFormat:@"%d只羊",i+1];
        label.font = [UIFont boldSystemFontOfSize:30];
        [_scrollView2 addSubview:label];
    }

    _scrollView3 = [[UIScrollView alloc]init];
    _scrollView3.frame = CGRectMake(0, 320, 320, 160);
    _scrollView3.bounces = NO;
    _scrollView3.delegate = self;
    _scrollView3.pagingEnabled = YES;
    _scrollView3.contentSize = CGSizeMake(320*18, 160);
    [self.view addSubview:_scrollView3];
    for (int i = 0; i < 18; i++) {
        UILabel *label = [[UILabel alloc]init];
        label.frame = CGRectMake(320*i, 0, 320, 160);
        label.textAlignment = NSTextAlignmentCenter;
        label.backgroundColor = [UIColor cyanColor];
        label.text = [NSString stringWithFormat:@"%d只腿",i+1];
        label.font = [UIFont boldSystemFontOfSize:30];
        [_scrollView3 addSubview:label];
    }

    // Do any additional setup after loading the view, typically from a nib.
}

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    int sum = (_scrollView1.contentOffset.x/320+1)*_scrollView1.tag + (_scrollView2.contentOffset.x/320+1)*_scrollView2.tag;
    [_scrollView3 setContentOffset:CGPointMake((sum-1)*320,0)] ;
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-10 16:19:08

UI-ScrollView的使用的相关文章

cocosStudio中使用PageView,ListView和ScrollView

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

cocos Studio中ScrollView选择裁切后显示白底的问题

ui::ScrollView * m_pScrollView; m_pScrollView = static_cast<ui::ScrollView*>(Helper::seekWidgetByName(_layout, "ScrollView_97")); m_pScrollView->setClippingType(ui::Layout::ClippingType::SCISSOR);

Cocos2d-x 3.0final 终结者系列教程23CocosStudio UI组件使用大全Cocos2d-x3.2使用

最近忙死了,得空发表一篇关于所有的Cocostudio中的UI组件使用的教程,其实是对所有UI组件的Api介绍,作为手册收藏下吧!! CocosStudio UI组件 按钮UIButton 复选框UICheckBox 滑块UISlider 图片UIImageView 进度条UILoadingBar 纹理文本 UITextAtlas 字体文本 UIText 图片字体文本 UITextBMFont 文本区域 UITextField 布局组件 UILayout 滚动组件 UIScrollView 页面

Cocos2d-x 3.X手游开发实例详解

Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰然网创始人杨雍力荐) 于浩洋 著   ISBN 978-7-121-23998-4 2014年9月出版 定价:59.00元 356页 16开 编辑推荐 以Cocos2d-x V3.0为框架全面讲解手游开发的知识和方法 以热门游戏2048.卡牌为例,完整再现手游的开发过程 Cocos2d-x作者之一林

cocos代码研究(25)Widget子类PageView学习笔记

基础理论 ListView控件是一个显示滚动项目列表的视图组. 列表项是通过使用addChild或insertDefaultItem插入到列表中的,继承自ScrollView. 代码实践 static ListView * create()创建一个空ListView. void setItemModel (Widget *model)设定一个ListView的模型. 当调用pushBackDefaultItem,该模型将作为一个蓝图,新副本将被插入到ListView控件. void pushBa

Cocos2d-x3.3Final(1) ListView常用成员函数(C++)

ListView listView = ListView::create(); --创建列表 listView->setDirection(ui::ScrollView::Direction::VERTICAL); --设置列表方向 listView->setBounceEnabled(true); --设置弹力 listView->setBackGroundImage("cocosui/green_edit.png"); --设置背景图片 listView->

iOS 总结1

1:让tableview 执行这个方法,1秒中之后,取消选中,执行这个方法,传进去indexpath的参数,去执行取消,1秒之后标志也小时.在select 中执行deselect方法, 选中标记,不选中不标记. 2.UITableViewController 两个属性:(1)tableview 设置这个属性,访问和设置表视图(2)clearsSelectionOnViewWillAppear 布尔型,默认是yse,当视图出现的时候, 3.是否取消选中状态.push 另外一个视图,当返回回来的时候

cocos2d-x3.1 下实现类似Android下ExpandListView的效果

在左Android开始有SDK提供ExpandListView的可扩展列表,而在iOS下有许多第三方做好的Demo,这里我是参照iOS下RATreeView这个第三方库实现的. 本文代码:需要在3.1以上版本运行.如果是用3.0版本需要将Vec2换成Piont 原文地址:http://blog.csdn.net/qqmcy/article/details/29559241 代码下载:http://download.csdn.net/detail/qqmcy/7469387 下面说下使用方法: D

Cocos2d-x计算字符串Size方法

项目需要,根据输入字符串,计算字符串所需要占的Size.封装代码如下,只需传入字符串,即可返回Size: Size ChartDemoScene::calculateFontSize(const char *str ) { std::string tempString = str; log("tempString = %s",tempString.c_str()); size_t computeCount = tempString.size(); //如果字符串很长每次抽取100个字符

cocos2dx导出的json转c++代码

虽然2dx提供了CocoStudio界面编辑工具,但是他并非一个开源产品,没有提供原码修改,更做不到像vs一样的控件集成.在一个界面设计完成后,往往要把相关的界面上的东西转成相对应的原码基本都是一至的,这些动作繁琐而又没有意思看如下代码等: _Panel = static_cast<Layout*>(extension::GUIReader::shareReader()->widgetFromJsonFile("DemoShop.ExportJson")); this