IOS ScrollView的使用 and delegate

ScrollView常用的属性设置
//设置内容尺寸 // CGFloat contentH=self.lastBtn.frame // .origin.y+self.lastBtn.frame.size.height+10; //10是底部的间距 CGFloat contentH=CGRectGetMaxX(self.lastBtn.frame)+10; self.scrollView.contentSize=CGSizeMake(0,contentH); //增加额外的滚动区域(在顶部增加64的区域,在底部增加44的区域) self.scrollView.contentInset=UIEdgeInsetsMake(64, 0, 44, 0); //设置一开始的滚动位置(往下滚动64) self.scrollView.contentOffset=CGPointMake(0, 64);

    // 隐藏水平滚动条

    self.scrollView.showsHorizontalScrollIndicator = NO;

 ScrollView的代理(delegate)

当UIScrollView 发生一系列的滚动操作时,会自动通知它的代理(delegate)对象,

给它的代理发送相应的消息,让代理得知它的滚动情况。

代理的用途

1.监听的思想:让一个对象A监听另一个对象的状态(谁监听,谁做代理)

2.通知的思想:一个对象B状态发生了改变做了某些事情,想通知另一个对象A.

 

   //设置代理
    self.scrollView.delegate=self;
    
    //设置最大和最小的缩放比例
    self.scrollView.maximumZoomScale=2.0;
    self.scrollView.minimumZoomScale=.2;

 

//继承<UIScrollViewDelegate>

@interface MJViewController () <UIScrollViewDelegate>

/**
 *  当用户开始拖拽scrollView时就会调用
 */
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    NSLog(@"开始拖拽-----");
}

/**
 *  只要scrollView正在滚动,就会调用
 */
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    NSLog(@"----正在滚动--%@", NSStringFromCGPoint(scrollView.contentOffset));
}

/**
 *  当用户使用捏合手势的时候会调用
 *
 *  @return 返回的控件就是需要进行缩放的控件
 */
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    NSLog(@"----开始缩放");
    return self.minionView;
}

/**
 *  正在缩放的时候会调用
 */
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
    NSLog(@"----正在缩放");
}

 

posted on 2017-02-21 14:50  守望星空  阅读(357)  评论(0)    收藏  举报

导航