zoukankan      html  css  js  c++  java
  • ios-UIScrollView-常用属性和方法


    _uiscroolview=[[UIScrollView alloc]init]; if ([[UIDevice currentDevice].systemVersion floatValue]>6.2) { _uiscroolview.frame=CGRectMake(0, 0, 320, 480); }else{ _uiscroolview.frame=CGRectMake(0, 0, 320, 400); } _uiscroolview.contentSize=CGSizeMake(320*2, 460);//设置内容的大小 _uiscroolview.pagingEnabled=NO;//分页效果是否可用,默认为no _uiscroolview.bounces=YES;//是否有反弹效果,默认为yes _uiscroolview.indicatorStyle=UIScrollViewIndicatorStyleWhite;//滚动条风格 [_uiscroolview flashScrollIndicators];//一显示就显示一下滚动条,用来提示用户的 _uiscroolview.showsHorizontalScrollIndicator=YES;//显示滚动条 _uiscroolview.backgroundColor=[UIColor redColor]; _uiscroolview.contentInset=UIEdgeInsetsMake(20, 20, 50, 30);//4个参数,分别表示可以拉动的边缘扩展的大小,上,左,下,右 _uiscroolview.scrollIndicatorInsets=UIEdgeInsetsMake(20, 20, 50, 30);//同上,不过,这4个参数是用来设置滚动条的,意义相同
    -(void)touches:(UIButton*) bb{
        //[_uiscroolview setContentOffset:CGPointMake(320, 20) animated:YES];//在scroolview中,跳的位置,x320,y20
        [_uiscroolview scrollRectToVisible:CGRectMake(320, 200, 20, 20) animated:YES];//这个是跳转到一个区域,可见就可以了,没有指定是在中间还是哪
    }

     //下面是一个简单得相册得放大缩小列子,原理本来一个scrollview只能放大缩小一张图,那么我们就将多个scrollview放到一个大地scrollview上

    //
    //  RootViewController.m
    //  uiscorrview
    //
    //  Created by  liyang on 14-4-26.
    //  Copyright (c) 2014年 liyang. All rights reserved.
    //
    
    #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];
        //先是添加了一个底部scrollview,因为一个scrollview只能放大一个view
        _basescrollview =[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 340, 460)];
        _basescrollview.backgroundColor=[UIColor blackColor];
        [self.view addSubview:_basescrollview];
        //设置能容大小
        _basescrollview.contentSize=CGSizeMake(340*4, 460);
        _basescrollview.pagingEnabled=YES;
        _basescrollview.showsVerticalScrollIndicator=NO;
        _basescrollview.showsHorizontalScrollIndicator=NO;
        _basescrollview.delegate=self;
        _basescrollview.tag=INT_MAX;
        
        
        
        int _x=0;
        for (int index=0; index<5; index++) {
            ImageScrollView *imagescrollview=[[ImageScrollView alloc]initWithFrame:CGRectMake(0+_x, 0, 320, 480)];
            NSString *imagename=[NSString stringWithFormat:@"%d.jpg",index+1];
            imagescrollview.tag=index;
            UIImage *iamge=[UIImage imageNamed:imagename];
            imagescrollview.imageview.image=iamge;
            imagescrollview.backgroundColor=[UIColor purpleColor];
            [_basescrollview addSubview:imagescrollview];
            _x+=340;
        }
    }
    //作用就是移动到下一张得时候改变原来得大小
        int pre=0;
    - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
       int current= _basescrollview.contentOffset.x/340;
        ImageScrollView *nowscrollview=(ImageScrollView *)[_basescrollview viewWithTag:pre];
        if (pre!=current&&nowscrollview.zoomScale>1.0) {
            nowscrollview.zoomScale=1.0;
        }
        pre=current;
    }
    
    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        
    }
    
    @end
    //
    //  ImageScrollView.m
    //  uiscorrview
    //
    //  Created by  liyang on 14-4-26.
    //  Copyright (c) 2014年 liyang. All rights reserved.
    //
    
    #import "ImageScrollView.h"
    
    @implementation ImageScrollView
    
    - (id)initWithFrame:(CGRect)frame
    {
        self = [super initWithFrame:frame];
        if (self) {
            //设置图片
            _imageview=[[UIImageView alloc]initWithFrame:self.bounds];
         
            [self addSubview:_imageview];
            //设置代理
            self.delegate=self;
            //设置方法缩小的参数
            self.maximumZoomScale=4.0;
            self.minimumZoomScale=1;
            self.showsHorizontalScrollIndicator=NO;
            self.showsVerticalScrollIndicator=NO;
            //添加了一个手势动作
            UITapGestureRecognizer *taptwo=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapgesture:)];
            taptwo.numberOfTapsRequired=2;
            [self addGestureRecognizer:taptwo];
            
        }
        return self;
    }
    //手势事件
    -(void)tapgesture:(UIGestureRecognizer *)gesture{
    
        if (self.zoomScale>=4.0) {
            [self setZoomScale:1.0 animated:YES];
        }else{
           CGPoint point= [gesture locationInView:self];
            [self zoomToRect:CGRectMake(point.x-40, point.y-40, 80, 80) animated:YES];
        
        }
    
    }
    //代理方法返回方法缩小的view的
    - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    
        return _imageview;
    }
    @end
    1.这里只记录一些学习笔记 2.这里只记录一些学习心得,如果心得方向有错,请留言 2.这里只记录一些日记(只为提升英语,暂时有点忙,等转行了开始写)
  • 相关阅读:
    假期总结三
    假期总结三
    假期总结三
    假期总结三
    Redis 在线管理工具(phpRedisAdmin)介绍 两次git
    Redis 在线管理工具(phpRedisAdmin)介绍 两次git
    Redis 在线管理工具(phpRedisAdmin)介绍 两次git
    Redis 在线管理工具(phpRedisAdmin)介绍 两次git
    进程
    C# exe文件 添加到windows 服务
  • 原文地址:https://www.cnblogs.com/liyang31tg/p/3687635.html
Copyright © 2011-2022 走看看