UIKit框架(19)滚动视图UIScrollView-创新互联

  • UIScrollView滚动视图

    从网站建设到定制行业解决方案,为提供网站设计、成都网站制作服务体系,各种行业企业客户提供网站建设解决方案,助力业务快速发展。成都创新互联将不断加快创新步伐,提供优质的建站服务。

移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限

UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容

如:

   手机的设置页面、照片浏览中放大缩小页面、app上的广告栏等

基本使用过程:

   1)创建UIScrollView对象并设置其frame

   2)将要展示的内容添加到UIScrollView中

   3)设置UIScrollView的contentSize属性以确定可展示的视图范围

     (能滚多远,滚到哪里是尽头)

无法滚动的解决办法:

   没有设置contentSize

     scrollEnabled = NO

     没有接收到触摸事件:userInteractionEnabled = NO

     没有取消autolayout功能(要想scrollView滚动,必须取消autolayout)

     … …

  • UIScrollView的几个重要属性

frame:我们所看到的frame,以父视图左上定点作为坐标原点

contentSize:scrollView内部的可展示的范围,是一个CGSize类型

@property(nonatomic) CGSize contentSize
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

contentOffSet:当前的滚动位置,是一个CGPoint类型

@property(nonatomic) CGPoint contentOffset

contentInset:内边距

@property(nonatomic) UIEdgeInsets contentInset

其他属性:

@property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled     //滚动功能使能
@property(nonatomic) BOOL scrollsToTop  //点击状态栏回滚到顶部功能的使能
@property(nonatomic) BOOL bounces //弹簧功能使能
@property(nonatomic) BOOL showsHorizontalScrollIndicator //水平滚动条显示使能
@property(nonatomic) BOOL showsVerticalScrollIndicator  //垂直滚动条显示使能

  • 滚动视图的代理

UIScrollView对象有一个代理属性:

@property(nonatomic, assign) id< UIScrollViewDelegate > delegate

代理者需要遵循代理协议<UIScrollViewDelegate>

检测滚动位置的代理方法:

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

检测拖拽的代理方法:

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

如何实现缩放?

   由于scrollView中可以放置多个子视图

     故当使用缩放手势时,scrollView通过代理方法询问代理者应当缩放哪个子视图

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

   实现该方法,返回要缩放的子视图

检测缩放的代理方法:

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

  • 滚动视图的分页功能

滚动视图支持分页效果的滚动功能

相关属性:

@property(nonatomic, getter=isPagingEnabled) BOOL pagingEnabled //分页效果使能

使用的一般步骤:

   1)设置页数,contentSize的width为frame的width的页数倍

   2)向scrollView中放置每一页应显示的内容

   UIKit框架(19)滚动视图UIScrollView

   3)分页效果属性设置为YES

   4)必要时隐藏滚动条

   5)必要时使用UIPageControl来显示当前是第几页

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

分享文章:UIKit框架(19)滚动视图UIScrollView-创新互联
当前地址:https://www.cdcxhl.com/article14/gchge.html

成都网站建设公司_创新互联,为您提供网站设计响应式网站定制开发网站营销营销型网站建设企业网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设