UIScrollView常见的使用方法

1.UIScrollView主要用来实现滚动缩放的功能

为什么需要使用UIScrollView?

移动设备的屏幕是极其有限的,所以直接展示给用户的内容也是有限的,当展示的内容比较多的时候,用户通过滚动和缩放来查看更多的内容,普通的UIView是不能滚动的。UIScrollView是可以滚动的视图空间,能展示更多的内容,可以通过滚动查看更多的内容。

2.UIScrollView 常用的三个主要属性

1)contentSize

@property(nonatomic)  CGSize   contentSize; 

用于设置UIScrollView需要展示的内容的大小(尺寸),contentSize设置的尺寸小于或等于UIScrollView的width和height时都不能实现滚动,当contentSize的width比UIScrollView的width大的时候可以水平方向滚动,当contentSize的height比UIScrollView的height值大的时候可以竖直方向滚动。

注意一:UIScrollView的frame.size与  contentSize的区别?

frame.size指的是: UIScrollView的可视区域的大小,UIScrollView本身的大小
contentSize指的是: UIScrollView中所包含的内容的大小(要滚动的实际内容的大小)
注意二如果UIScrollView无法滚动,可能是以下原因:
a. 没有设置contentSize
b.scrollEnabled = NO
c.没有接收到触摸事件:userInteractionEnabled = NO
d.没有取消autolayout功能(要想scrollView滚动,在 xcode5.x 下必须取消autolayout) 注意 : xcode6.1 下不需要取消自动布局也可以滚动。

2)contentOffSet

@property(nonatomic)CGPointcontentOffset;   

表示UIScrollView中内容滚动的时候,相对于左上角的偏移量,通俗点说就是内容滚动到了什么位置。

// 让scrollView动画去滚动
    [self.scrollView setContentOffset:offset animated:YES];

3)contentInSet

@property(nonatomicUIEdgeInsets contentInset; 

  表示内容的内边距,UIScrollView的内容在拖动以后内容距离UIScrollView的内边距。

self.scrollView.contentInset = UIEdgeInsetsMake(20, 50, 80, 100);

3.UIScrollView的常见属性图


4.UIScrollView的其他属性

@property( nonatomic) BOOLbounces;//设置UIScrollView是否需要弹簧效果
@property( nonatomic, getter=isScrollEnabled) BOOLscrollEnabled;//设置UIScrollView是否能滚动
@property( nonatomic) BOOLshowsHorizontalScrollIndicator;//是否显示水平滚动条
@property( nonatomic) BOOLshowsVerticalScrollIndicator;//是否显示垂直滚动条

5.UIScrollView的代理协议方法
1).UIScrollView的代理实现原理图
2)设置代理对象

self.scrollView.delegate=self;

3)遵循代理协议

@interfaceViewController () <UIScrollViewDelegate>

4)实现代理协议方法

- (void)scrollViewDidScroll://用户在滚动的时候

- (void)scrollViewWillBeginDragging://用户即将开始拖拽的时候
- (void)scrollViewDidEndDragging://用户拖拽完毕以后
4) 缩放原理
a.- (UIView*)viewForZoomingInScrollView://方法返回要缩放的子控件

b.在viewDidLoad中设置缩放比例

self.scrollView.maximumZoomScale = 2.0;
self.scrollView.minimumZoomScale = 0.4;
c.
//即将开始缩放的时候调用

-(void)scrollViewWillBeginZooming:(UIScrollView*)scrollView withView:(UIView*)view

//正在缩放的时候调用
-(void)scrollViewDidZoom:(UIScrollView*)scrollView
//缩放完毕的时候调用

-(void)scrollViewDidEndZooming::(UIScrollView*)scrollView

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值