09 UIScrollView 、 UIPageControl
2015-12-18 20:21
423 查看
09 UIScrollView 、 UIPageControl
1.UIScrollview1)核心功能:
滚动:只有contentSize大于frame.size的时候,才能够滚动。
缩放:自带缩放,可以指定缩放倍数。
UIScrollView滚动相关属性:
contentSize //定义内容区域大小,决定是否能够滑动
contentOffset //视图左上角距离坐标原点的偏移量
scrollsToTop //滑动到顶部(点状态条的时候)
pagingEnabled //是否整屏翻动
bounces //边界是否回弹
scrollEnabled //是否能够滚动
showsHorizontalScrollIndicator //控制是否显示水平方向的滚动条
showVerticalScrollIndicator //控制是否显示垂直方向的滚动条
alwaysBounceVertical //控制垂直方向遇到边框是否反弹
alwaysBounceHorizontal //控制水平方向遇到边框是否反弹
UIScrollView缩放相关属性:
minimumZoomScale // 缩小的最小比例
maximumZoomScale //放大的最大比例
zoomScale //设置变化比例
zooming //判断是否正在进行缩放反弹
bouncesZoom //控制缩放的时候是否会反弹
要实现缩放,还需要实现delegate,指定缩放的视图是谁。
2).UIScrollView的常用代理方法
1)与滚动有关的代理方法
//将要开始拖拽(手指触碰到屏幕,并且移动) - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{ } //已经开始滚动(只要scrollview是滚动状态就会调用此方法) - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ } //停止拖动(当手指(触摸对象)离开,正在滚动的视图减速) - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{ NSLog(@--%s, __func__); } //视图真正静止(视图不动了) - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ NSLog(@%s,__func__); }
3)与缩放有关的代理方法
//指定scrollView的某一个子视图为可缩放视图(只能指定一个!),前提条件是子视图已经添加到scrollView上面 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{ } //开始缩放的代理方法 第二个参数view:这个参数是指我们要缩放的视图(这里就是imageView)。 - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view{ NSLog(@---%@, view); } //正在缩放的代理方法 只要正在缩放,就会执行此方法。所以此方法会在缩放过程中多次调用 - (void)scrollViewDidZoom:(UIScrollView *)scrollView{ } //缩放结束所执行的代理方法 - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale{ }
2.UIPageControl
UIPageControll 是继承于UIControl的一个IOS系统UI控件,可以提供给开发者设计分页效果的功能。pageControl不单独使用,通常与scrollView结合使用。
初始化方法: UIPageControl * page = [[UIPageControl alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; 属性: 设置控制器页数(默认为0) @property(nonatomic) NSInteger numberOfPages; 设置当前所在页码 @property(nonatomic) NSInteger currentPage; 设置当总页数为1时,是否自动隐藏控制器 @property(nonatomic) BOOL hidesForSinglePage; 设置是否延迟自动更新控制器的当前页码(默认为NO) @property(nonatomic) BOOL defersCurrentPageDisplay; 注意:这个属性如果设置为YES,点击时并不会改变控制器显示的当前页码点,必须手动调用 - (void)updateCurrentPageDisplay; 这个方法,才会更新。 更新控制器当前页码 - (void)updateCurrentPageDisplay; 通过页数得到控制器大小 - (CGSize)sizeForNumberOfPages:(NSInteger)pageCount; 这个属性用于页数会变化的情况下进行大小动态处理 设置控制器页码点得颜色 @property(nonatomic,retain) UIColor *pageIndicatorTintColor; 设置控制器当前所在页码点的颜色 @property(nonatomic,retain) UIColor *currentPageIndicatorTintColor;
代码演示
相关文章推荐
- 08-2 UISwitch and UIStepper
- IOS 开发学习笔记-基础 UI(十)九宫格布局,块动画,字典转模型,Xib使用
- 08-1 UIControl 及其子类 UISegmentedControl 、UISlider
- UIScrollView的使用
- 07 手势识别器、UIImageView、(transform)、模拟button内部实现触摸事件
- UILabel的使用
- 有关OpenCV1.0中GUI命令的几个函数学习总结
- UITextField的使用
- UIScreen,UIFont,UIColor,UIView,UIButton等总结
- Java中serialVersionUID的解释
- Java中的SerialVersionUID
- 关于Serializable的serialVersionUID
- UVALive-3972 March of the Penguins (最大流:节点容量)
- iOS之UITableView带滑动操作菜单的Cell
- easyui datagrid fitColumns 不生效
- IOS 代码创建UI界面
- UIScrollView(Auto Layout)
- How to set field values using Java reflection
- xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Deve
- [Android UI研究] 学习笔记