博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【代码笔记】iOS-两个滚动条,上下都能滑动
阅读量:4487 次
发布时间:2019-06-08

本文共 6571 字,大约阅读时间需要 21 分钟。

一,效果图。

 

 

二,工程图。

三,代码。

RootViewController.h

 

#import 
@interface RootViewController : UIViewController
{ UIView *backView; UIScrollView *scrollerViewFirst; UIScrollView *scrollerViewSecond; UIImageView * imageViewBook; UILabel *label; UIImageView *bigImageView; UIView *bigView;}@end

 

RootViewController.m

#import "RootViewController.h"@interface RootViewController ()@end@implementation RootViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];    if (self) {        // Custom initialization    }    return self;}- (void)viewDidLoad{    [super viewDidLoad];    // Do any additional setup after loading the view.        [self initBackgroundView];}#pragma -mark -funcitons-(void)initBackgroundView{    //放大的时候,底部的图    bigView = [[UIView alloc]initWithFrame:CGRectMake(10, 10, 300, 440)];    [self.view addSubview:bigView];        //背景图    backView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 460)];    [self.view addSubview:backView];        //背景    UIImageView * imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"backImage.png"]];    imageView.frame = CGRectMake(0, 0, 320, 460);    [backView addSubview:imageView];        //scrollerViewFrist    scrollerViewFirst = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 151)];    scrollerViewFirst.contentSize = CGSizeMake(320 * 4, 151);    scrollerViewFirst.contentOffset = CGPointMake(0, 0);    scrollerViewFirst.bounces = YES;    scrollerViewFirst.alwaysBounceHorizontal = YES;    scrollerViewFirst.showsHorizontalScrollIndicator = NO;    scrollerViewFirst.pagingEnabled =YES;    scrollerViewFirst.delegate = self;    scrollerViewFirst.tag=1;    scrollerViewFirst.backgroundColor=[UIColor redColor];    [backView addSubview:scrollerViewFirst];        //scrollerViewSecond    scrollerViewSecond = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 152, 320, 308)];    scrollerViewSecond.contentSize = CGSizeMake(320 * 4, 308);    scrollerViewSecond.contentOffset = CGPointMake(0, 0);    scrollerViewSecond.bounces = YES;    scrollerViewSecond.alwaysBounceHorizontal = YES;    scrollerViewSecond.showsHorizontalScrollIndicator = YES;    scrollerViewSecond.delegate = self;    scrollerViewSecond.pagingEnabled =YES;    scrollerViewSecond.backgroundColor=[UIColor orangeColor];    [backView addSubview:scrollerViewSecond];            //scrollerFirst的大的背景图    for (int i = 0; i < 4;i++) {        for ( int j = 0; j < 3; j++) {            UIImageView * imageview = [[UIImageView alloc]initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"scrollerFirstTop.png"]]];            imageview.frame = CGRectMake(0 + i* 320, 0, 320, 151);            [scrollerViewFirst addSubview:imageview];        }    }        //scrollerFirst书架上的图集    for ( int i = 0; i < 12; i++) {                imageViewBook = [[UIImageView alloc]initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",i+1]]];        imageViewBook.contentMode = UIViewContentModeScaleToFill;        imageViewBook.frame = CGRectMake((10 + i * 106 ) , 22, 80, 100);        imageViewBook.userInteractionEnabled = YES;        imageViewBook.tag = i;                UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(doClickTapGesture:)];        [imageViewBook addGestureRecognizer:tapGesture];                [scrollerViewFirst addSubview:imageViewBook];    }        //scrollerSecond的标题    for (int i = 0; i < 4; i++) {                UIImageView *topImageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"scrollerSecondTop"]];        topImageView.frame = CGRectMake(100 + 320 *i , -40 , 220, 100);        [scrollerViewSecond addSubview:topImageView];                UIImageView *titleImageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"scrollerSecondTitle.png"]];        titleImageView.frame = CGRectMake(3 + 320 *i, 20, 100, 55);        [scrollerViewSecond addSubview:titleImageView];    }        //scrollerViewSecond每个里面的线    for (int i = 0; i < 4;i++) {        for ( int j = 0; j < 3; j++) {            label = [[UILabel alloc]initWithFrame:CGRectMake(320*i , 80 + 60 *j, 320, 20)];            if (i==0) {                label.backgroundColor=[UIColor redColor];            }else if (i==1){                label.backgroundColor=[UIColor greenColor];            }else if (i==2){                label.backgroundColor=[UIColor blackColor];            }else if (i==3){                label.backgroundColor=[UIColor blueColor];            }            [label setFont:[UIFont systemFontOfSize:12]];            label.textAlignment = NSTextAlignmentCenter;            label.textColor = [UIColor blueColor];            [scrollerViewSecond addSubview:label];                    }    }}#pragma -mark -doClickAction-(void)doClickTapGesture:(UITapGestureRecognizer *)tapGesture{    NSLog(@"doClickTapGesture");        //一个页面从右侧翻转过来的效果    [UIView beginAnimations:nil context:nil];    [UIView setAnimationDuration:0.7];    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];    [self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:0];    [UIView commitAnimations];            bigImageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%ld.png",tapGesture.view.tag +1]]];    bigImageView.frame = CGRectMake(0,0,300, 440);    bigImageView.userInteractionEnabled = YES;        UITapGestureRecognizer * tgrBig = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(beginSmall:)];    [bigImageView addGestureRecognizer:tgrBig];            bigView.alpha = 0.2;        UIScrollView *scrollerViewThree = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 300, 440 )];    scrollerViewThree.delegate = self;    scrollerViewThree.maximumZoomScale = 3.0;    scrollerViewThree.minimumZoomScale = 1;    [bigView  addSubview: scrollerViewThree];    [scrollerViewThree addSubview:bigImageView];       }-(void)beginSmall:(UIGestureRecognizer *)sender{       NSLog(@"--doClickbeginSmall--");        [UIView beginAnimations:nil context:nil];    [UIView setAnimationDuration:0.7];    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];    [self.view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];    [UIView commitAnimations];        bigView.alpha = 1;        [bigImageView removeFromSuperview];}

 

 

 
 

转载于:https://www.cnblogs.com/yang-guang-girl/p/5503949.html

你可能感兴趣的文章
【Java】 大话数据结构(5) 线性表之双向链表
查看>>
【Java】 大话数据结构(6) 栈的顺序与链式存储
查看>>
java 断点续传(springMvc),可支持html5 vedio在线播放 posted @ 2017年3月11日 16:15:44...
查看>>
[入门阅读]怎样在android中解析JSON
查看>>
extjs中rowEditing动态编辑
查看>>
第10题 正则表达式匹配(动态规划)
查看>>
HTML入门
查看>>
[LeetCode] 23. Merge k Sorted Lists
查看>>
windows开启Apache的mod_rewrite模块
查看>>
Webform(分页、组合查询)
查看>>
Foundation - NSDate
查看>>
Codeforces - 570D 离散DFS序 特殊的子树统计 (暴力出奇迹)
查看>>
geatpy - 遗传和进化算法相关算子的库函数(python)
查看>>
iOS 线程安全
查看>>
mysql 分组之后统计记录条数
查看>>
New STL Algorithms That Will Make A More Productive Developer
查看>>
js 对象 浅拷贝 和 深拷贝
查看>>
初识 python
查看>>
人工智能深度学习框架MXNet实战:深度神经网络的交通标志识别训练
查看>>
PCL Examples
查看>>