`

UIscrollview总结

阅读更多

将状态栏除去后的位置

CGRect bounds = [ [ UIScreen mainScreen ] applicationFrame ] ;  (0,20,320,460)

 
将状态栏包括在内

CGRect bounds = [ [ UIScreen mainScreen ] applicationFrame ] ;  (0,0,320,480)

 

UIScrollView 给出内容的实际大小,可以得出滚动视图的滚动范围

scrollView.contentSize = myView.frame.size;  

 

显示内容相对于窗口左上角的偏移量,默认是从0×0开始的

scrollView.contentOffset
scrollView.maxinumZoomScale = 2.0;//允许放大2倍  
scrollView.mininumZoomScale = 0.5;//允许放大到0.5倍

 

滚动条设置

UIScrollViewIndicatorStyleDefault  
UIScrollViewIndicatorStyleBlack  
UIScrollViewIndicatorStyleWhite

 

1.directionalLockEnabled
默认行为是允许用户同时进行横向和纵向的滚动。将这个属性设置为YES会导致将用户的滚动行为锁定成只允许横向或纵向进行,具体方向由初始姿态决定。
2.bounces
当用户抵达滚动区域边缘时,这个功能允许用户稍微拖动到边界外一点。当用户松开手指后,这个区域会像个橡皮筋一样,弹回到原位,给用户一个可见的提示,表示他已经到达了文档开始或结束位置。如果不想让用户的滚动范围能够超出可见内容,可以将这个属性设置为NO。
3.bouncesZoom
类似于bounces 选项,这个方法可以令用户的缩放操作超出最大或最小缩放级别,然后弹回到范围以内。如果你不想让用户能够超出你指定的范围进行缩放,将这个属性设置为NO。
4.pagingEnabled
当开启了分页功能时,滚动视图被分割成多个独立区段,二用户的滚动体验则变成了页面翻转,你可以用这个属性来进行页面翻转。

-(void)scrollViewDidScroll:(UIScrollView*)scrollView;//会在视图滚动时收到通知。包括一个指向被滚动视图的指针,从中可以读取contentOffset属性以确定其滚动到的位置。 

 

-(void)scrollViewWillBeginDragging:(UISCrollView*)scrollView;//当用户首次在某个方向上进行拖动时得到通知。这个方法会得到被作为参数传递的滚动视图指针,也同样可以从中读取 contentOffset 属性。  

 

-(void)scrollViewDidEndDragging:(UIScrollView*)scrollView willDecelerate:(BOOL)decelerate;  
//当用户抬起拖动到手指时得到通知。还会得到一个布尔值,知名报告滚动视图最后位置之前,是否需要减速。 

 

-(void)scrollViewWillBeginDecelerate:(UIScrollView*)scrollView;//当用户抬起手指而视图需要继续移动时,会收到通知。这个方法可以用来读取 contentOffset属性,从而判断出当用户抬起手指钱最后一次滚动到的位置,虽然这个位置并不会使滚动条的最终停止位置。  

 

-(void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView;//当上面提到的减速完毕、滚动视图停止时得到通知。收到这个通知的时刻,滚动视图的contentOffset属性会反映出滚动条最终停止的位置。  

 

-(void)scrollViewDidEndZooming:(UIScrollview*)scrollView withView:(UIView*)view atScale:(float)scale;//当用户对内容进行缩放时,会收到通知。缩放比例表示为一个浮点值,会作为参数传递进来。  

 

-(BOOL)scrollViewShouldScrollToTop:(UIScrollView*)scrollView;  
-(void)scrollViewDidScrollToTop:(UIScrollView*)scrollView;  
//当用户点出iPhone状态条时,滚动视图委托可以决定视图是否滚动回到开头。

 
属性 作用

CGPoint contentOffSet 监控目前滚动的位置
CGSize contentSize 滚动范围的大小
UIEdgeInsets contentInset 视图在scrollView中的位置
id<UIScrollerViewDelegate>
delegate 设置协议
BOOL directionalLockEnabled 指定控件是否只能在一个方向上滚动
BOOL bounces 控制控件遇到边框是否反弹
BOOL alwaysBounceVertical 控制垂直方向遇到边框是否反弹
BOOL alwaysBounceHorizontal 控制水平方向遇到边框是否反弹
BOOL pagingEnabled 控制控件是否整页翻动
BOOL scrollEnabled 控制控件是否能滚动
BOOL showsHorizontalScrollIndicator 控制是否显示水平方向的滚动条
BOOL
showsVerticalScrollIndicator 控制是否显示垂直方向的滚动条
UIEdgeInsets scrollIndicatorInsets 指定滚动条在scrollerView中的位置
UIScrollViewIndicatorStyle
indicatorStyle 设定滚动条的样式
float decelerationRate 改变scrollerView的减速点位置
BOOL tracking 监控当前目标是否正在被跟踪
BOOL dragging 监控当前目标是否正在被拖拽
BOOL decelerating 监控当前目标是否正在减速
BOOL delaysContentTouches 控制视图是否延时调用开始滚动的方法
BOOL canCancelContentTouches 控制控件是否接触取消touch的事件
float minimumZoomScale 缩小的最小比例
float maximumZoomScale 放大的最大比例
float zoomScale 设置变化比例
BOOL bouncesZoom 控制缩放的时候是否会反弹
BOOL zooming 判断控件的大小是否正在改变
BOOL zoomBouncing 判断是否正在进行缩放反弹
BOOL scrollsToTop 控制控件滚动到顶部

 

 

分享到:
评论

相关推荐

    iOS:UIScrollView实现轮播

    总结起来,使用UIScrollView实现轮播效果主要涉及以下几个步骤: 1. 创建UIImageView数组,加载图片。 2. 设置UIScrollView的contentSize和pagingEnabled属性。 3. 使用NSTimer实现自动轮播。 4. 添加边界处理,实现...

    UIScrollView自动轮播图

    总结来说,实现`UIScrollView`自动轮播图的关键步骤包括:设置`contentSize`、创建定时器、管理轮播索引以及添加和布局图片。这个过程涉及到iOS编程中的视图布局、定时器操作和滚动视图交互等多个知识点,对于iOS...

    UIScrollView 原理

    ### 总结 UIScrollView作为iOS开发中的一个重要组件,它的灵活性和强大的功能使其成为许多复杂界面设计的首选。通过对UIScrollView工作原理的理解,我们可以更好地利用它来构建出更加优雅和高效的用户界面。

    UIScrollView/UITableView布局的影响因素总结

    在iOS开发中,`UIScrollView`和`UITableView`是两种非常重要的视图组件,它们用于展示大量数据并允许用户滚动查看。这两个组件的布局设计对于用户体验至关重要。本篇文章将深入探讨`UIScrollView`和`UITableView`...

    UIScrollView循环浏览图片

    总结,利用三个`UIImageView`和`UIScrollView`,我们可以通过合理布局和处理滚动事件,实现图片的循环浏览效果。这种方案简单高效,能轻松应对多张图片的展示需求,同时提供良好的用户体验。在实际项目中,还可以...

    iOS应用开发中UIScrollView滚动视图的基本用法总结

    在项目开发时遇到一个问题,我在UIViewController上面直接创建了一个UIScrollerView,把UIScrollerView作为一个子视图添加到了...下面引用一下前辈的总结,因为自己觉得没有他总结的详细 UIScrollView重载了h

    用UIScrollView做循环的广告牌

    总结起来,实现“用UIScrollView做循环的广告牌”主要涉及以下步骤: 1. 设置UIScrollView的contentSize和pagingEnabled属性。 2. 创建UIImageView子视图,加载广告图片,并添加到ScrollView中。 3. 使用NSTimer实现...

    uiscrollview循环滚动

    总结起来,实现`UIScrollView`的循环滚动需要对`UIScrollView`的工作原理有深刻的理解,通过合理的数据结构、视图布局、滑动监听以及动画处理,可以创建出流畅且直观的循环滚动效果。`CycleScrollDemo`提供的代码...

    ios UIScrollView PageControl 循环滑动 当前图片

    总结来说,实现一个具备循环滑动和点击提示功能的iOS应用,需要理解并熟练运用UIScrollView的滚动机制、UIPageControl的使用,以及手势识别器的集成。同时,良好的代码组织和命名规范也是提高代码可读性和可维护性的...

    UIScrollView滚动视图

    总结来说,这个项目展示了如何利用`UIScrollView`结合`UIImageView`创建一个自动滚动并支持手势滑动的图片展示组件。通过设置`contentSize`、添加子视图、设置定时器和手势识别,我们可以实现丰富的滚动视图效果。在...

    iOS开发中使用UIScrollView实现图片轮播和点击

    总结来说,通过使用UIScrollView、UIImageView、TapGestureRecognizer和UIPageControl,我们可以创建一个功能完善的图片轮播器,并支持点击事件。同时,通过合理的优化策略,如懒加载和异步加载,可以提高应用的性能...

    iOS开发中使用UIScrollView实现无限循环的图片

    总结来说,实现一个无限循环的图片浏览器主要涉及到以下几个步骤: 1. 设置UIScrollView的contentSize和子视图。 2. 创建并管理UIImageView实例,实现图片的加载和切换。 3. 实现UIScrollViewDelegate协议,处理滚动...

    ios-UIScrollView可上下滚动的的侧边栏.zip

    总结起来,这个项目涉及到iOS开发中的`UIScrollView`使用、界面适配、动画效果实现以及自定义控件的设计。通过理解和应用这些知识点,开发者可以创建出具有高级交互特性的侧边栏视图,提升用户体验。在实际开发中,...

    多频看(2) uiscrollview重用cell 例子

    总结来说,本项目旨在教授开发者如何在UIScrollView中实现类似于UITableView的Cell重用机制,从而提高性能,降低内存占用。这一技术对于处理大量数据的滚动视图尤其有用,它不仅适用于常规的图片或文字展示,还可以...

    UIScrollViewDemo

    总结来说,"UIScrollViewDemo"是一个实用的iOS开发示例,它展示了如何使用UIScrollView来处理滚动和缩放,以及如何通过实现UIScrollViewDelegate来监听和响应用户的行为。这个项目对于任何想要深入了解iOS滚动视图...

    iOS开发中使用UIScrollView实现无限循环的图片浏览器

    总结来说,iOS开发中使用UIScrollView实现无限循环的图片浏览器需要理解ScrollView的工作机制,设置正确的contentSize和pagingEnabled属性,利用UIImageView和autoresizingMask来处理图片显示和布局,以及监听和响应...

    Swift实现可自定义分页宽度的UIScrollView

    总结来说,实现Swift中的可自定义分页宽度的UIScrollView主要涉及自定义contentSize、禁止裁剪边界、处理contentOffset、响应边缘触摸以及实现无限和自动轮播等功能。通过这些技术手段,我们可以创建出更加灵活、...

    右滑返回手势和UIScrollView中手势冲突的解决方法

    总结来说,处理右滑返回手势与UIScrollView的冲突需要对iOS手势识别机制有深入理解。通过自定义UIScrollView并重写相关手势识别方法,我们可以精细控制滑动手势的行为,确保滑动返回与ScrollView的滚动功能能够和谐...

    ios scrollview使用总结

    以上就是关于`UIScrollView`的基本使用、图片缩放及图片轮播的总结。更多细节和实践案例,你可以参考给出的博客链接:[博客地址](https://blog.csdn.net/dreams_deng/article/details/106691707)。在这个项目`...

Global site tag (gtag.js) - Google Analytics