<一>UIScrollView使用 - 01

来源:互联网 发布:手机淘宝账号交易平台 编辑:程序博客网 时间:2024/05/25 23:26

一、使用 UIScrollView 

  1. 将需要展示的内容添加到UIScrollView
  2. 必须先设置contentSize属性 来设定UIScrollView的滚动范围

二、UIScrollView无法滚动的原因:

1. 没有设置contentSize
2. scrollEnabled = NO
3. 没有接收到触摸事件:userInteractionEnabled = NO
4. 没有取消autolayout功能(要想scrollView滚动,必须取消autolayout)

三、UIScrollView的常用属性

// 表示UIScrollView的滚动位置

@property(nonatomic)         CGPoint      contentOffset;                  // default CGPointZero


// 表示UIScrollView的尺寸、滚动范围 (总体范围, 可滚动范围)

@property(nonatomicCGSize   contentSize;                   // default CGSizeZero


// 能在UIScrollView的四周增加滚动范围

@property(nonatomicUIEdgeInsets  contentInset;                   


//scrollView的可视范围

self.scrollView.frame.size


四、UIScrollView的其他属性

// 是否实现弹簧效果

@property(nonatomicBOOL  bounces;   


// 是否允许滚动

@property(nonatomic,getter=isScrollEnabled)BOOL scrollEnabled;    


// 是否显示滚动条

@property(nonatomic)        BOOL                         showsHorizontalScrollIndicator; // 水平

@property(nonatomic)        BOOL                         showsVerticalScrollIndicator;   // 垂直

              

五、UIScrollView 代理 (id<UIScrollViewDelegate> delegate)

1> 用法

•当UIScrollView发生一系列的滚动操作时,会自动通知它的代理(delegate)对象,给它的代理发送相应的消息,让代理得知它的滚动情况
•一般情况下 控制器 充当代理

UIScrollViewdelegate


// 用户开始拖拽时调用

-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;

//滚动到某个位置时调用

- (void)scrollViewDidScroll:(UIScrollView *)scrollView;

//用户结束拖拽时调用

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollViewWillDecelerate:(BOOL)decelerate;

2> 步骤:

1. 遵守协议(id<UIScrollViewDelegate> delegate)
        2. 实现代理协议方法
        3. 告诉谁充当代理(控制器 - self.scrollView.delegate = self) 

3> 思想:

1. 监听的思想: 让对象A 监听 对象B的对象
2. 通知的思想: 对象B状态发生改变(例如被点击/做了某些事情), 想通知对象A

4> 用处:

1. 当控制器 想监听某个控件状态发生改变时使用
2. 当某个控件 状态发生了改变 想通知控制器的时候

5> 两指缩放:

1. 实现缩放代理方法

/**

 *  缩放代理方法

 *

 *  @return 缩放的控件

 */

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView

{

returnself.imageView;

}


/**

 *  开始缩放

*/

- (void)scrollViewDidZoom:(UIScrollView *)scrollView

{

}


/**

 *  缩放完毕

 */

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale

{

NSLog(@"缩完");

}



2. 设置缩放 大小范围

self.scrollView.maximumZoomScale = 3.0;

self.scrollView.minimumZoomScale = 0.1;



0 0
原创粉丝点击