自定义ScrollView

#import "ViewController.h"

@interface ViewController () <UIScrollViewDelegate>

    
   @property (strong, nonatomic) UIScrollView *scroll;
   @property (strong, nonatomic)  UIView *view1;
   @property (strong, nonatomic) UIView *view2;
   @property (strong,nonatomic) UIScrollView *secondScrollView;
   @property float point;


@end

@implementation ViewController

-(void)ScrollView
{
    _scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(50, 50, 220, 240)];
    _scroll.backgroundColor = [UIColor cyanColor];
    _scroll.contentSize = CGSizeMake(1000, 1000);
   // scroll.contentOffset = point;
    //禁止视图移动
    //_scroll.scrollEnabled = NO;
    //contentOffset正方向与坐标系的正方向刚好相反
  //   _scroll.contentOffset = CGPointMake(-100, -100);
    //   contentInset不能改变contentSize的大小(top/left/bottom/right)
    _scroll.contentInset = UIEdgeInsetsMake(100, 100, 0, 0);
    
    //相当于提供一个滚动到顶部的快捷方式,在同一个页面里,同时只能有一个ScrollView具备这个能力
//        _scroll.scrollsToTop = NO;
//        _secondScrollView.scrollsToTop = YES;
//    
    //隐藏横向的滑动条默认为YES
       _scroll.showsHorizontalScrollIndicator = YES;
    
        _scroll.delegate = self;
    //侧方向锁定
     //   _scroll.directionalLockEnabled = YES;
    //不能滑动超过视图 就是没有弹性
        _scroll.bounces = NO;
    //当滑动的页面超过一半的时候就会自动弹回去
     //  _scroll.pagingEnabled = YES;
    
    _scroll.maximumZoomScale = 10;
    _scroll.minimumZoomScale = 0.1;
     _scroll.zoomScale = 3;
    
    
    
    [self.view addSubview:_scroll];
    
}

-(void)UIview
{
    _view1 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
    _view1.backgroundColor = [UIColor redColor];
    _view2 = [[UIView alloc] initWithFrame:CGRectMake(190, 210, 30, 30)];
    _view2.backgroundColor = [UIColor blueColor];
    [_scroll addSubview:_view1];
    [_scroll addSubview:_view2];
}


- (void)viewDidLoad {
    [super viewDidLoad];
    [self ScrollView];
    [self UIview];
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    NSLog(@"redView: %@", NSStringFromCGPoint(_view1.frame.origin));
    NSLog(@"offset: %@", NSStringFromCGPoint(scrollView.contentOffset));
    
    CGRect rect = _view1.frame;
    rect.origin.x = scrollView.contentOffset.x;
    rect.origin.y = scrollView.contentOffset.y;
    _view1.frame = rect;
}

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    //如果使用了缩放,contentSize的大小与被缩放的视图尺寸相同
    NSLog(@"contentSize: %@", NSStringFromCGSize(scrollView.contentSize));
    return _view2;
}

@end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值