UIScrollView 总结笔记
来源:互联网 发布:乐视for mac 编辑:程序博客网 时间:2024/06/10 10:36
1.注意
- 如果UIScrollView无法滚动,可能是以下原因:
- 没有设置contentSize
- scrollEnabled = NO
- 没有接收到触摸事件:userInteractionEnabled = NO
- 没有取消autolayout功能(要想scrollView滚动,必须取消autolayout)
2.UIScrollView使用
1.给scrollView添加内容
2.设置contentSize属性(只能在代码中设置)
3.UIScrollView重要属性
1.contentOffset(通过按钮改变其位移)
2.contentInset
注意:通过stroryboard设置立即生效,通过代码设置需配合contentOffect手动位移
@property(nonatomic) CGPoint contentOffset;
这个属性用来表示UIScrollView滚动的位置
@property(nonatomic) CGSize contentSize;
这个属性用来表示UIScrollView内容的尺寸,滚动范围(能滚多远)
@property(nonatomic) UIEdgeInsets contentInset;
这个属性能够在UIScrollView的4周增加额外的滚动区域
4.APP
1.xib界面布局(减少代码)
2.通过最后按钮的frame获取contentSize的height(CGRectGetMaxY(frame))
3.storyboard设置contentInset(使用代码设置还需设置contentOffset)
5.scrollView代理方法
1.要想成为代理遵守协议(UIScrollViewDelegate)
1.声明协议(一般协议名称:控件名称 + Delegate)
2.实现协议定义的接口方法
3.设置代理(UIViewController成为scrollView的代理)
// 用户开始拖拽时调用
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
// 滚动到某个位置时调用
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
// 用户结束拖拽时调用
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
6.scrollView实现缩放功能
1.设置最大、最小缩放倍数(注:倍数相等时,无法缩放)
minimumZoomScale :缩小的最小比例
maximumZoomScale :放大的最大比例
2.当用户在UIScrollView身上使用捏合手势时,UIScrollView会调用代理的viewForZoomingInScrollView:方法,这个方法返回的控件就是需要进行缩放的控件
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;
缩放完毕的时候调用
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view
正在缩放的时候调用
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
7.图片轮播功能
1.将内容添加到scrollView中(5张图片)
2.设置scrollView的contentSize
3.设置翻页属性(UIScrollView的pageEnabled属性设置为YES)
4.添加UIPageControl控件
5.设置UIPageControl的页码 (利用contentSize计算页码)
- 一共有多少页
@property(nonatomic)NSInteger numberOfPages;
- 当前显示的页码
@property(nonatomic)NSInteger currentPage;
- 只有一页时,是否需要隐藏页码指示器
@property(nonatomic)BOOL hidesForSinglePage;
- 其他页码指示器的颜色
@property(nonatomic,retain)UIColor *pageIndicatorTintColor;
- 当前页码指示器的颜色
@property(nonatomic,retain)UIColor *currentPageIndicatorTintColor;
6.增加自动滚动(NSTimer实现)
调用下面的方法就会开启一个定时任务
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)titarget:(id)aTarget
selector:(SEL)aSelector
userInfo:(id)userInfo
repeats:(BOOL)yesOrNo;
每隔ti秒,调用一次aTarget的aSelector方法,yesOrNo决定了是否重复执行这个任务
通过invalidate方法可以停止定时器的工作,一旦定时器被停止了,就不能再次执行任务。只能再创建一个新的定时器才能执行新的任务
- (void)invalidate;
- UIScrollView 总结笔记
- UIScrollView总结
- UIScrollView 总结
- UIScrollView总结
- UIScrollView笔记
- UIScrollView的属性总结
- UIScrollView的属性总结
- UIScrollView的属性总结
- UIScrollView的属性总结
- UIScrollView的属性总结
- UIScrollView的属性总结
- UIScrollView的属性总结
- UIScrollView的属性总结
- UIScrollView的属性总结
- UIScrollView的属性总结
- UIScrollView属性总结
- UIScrollView的属性总结
- UIScrollView的属性总结
- zookeeper特性
- pva-faster-rcnn
- linux shell 算数运算.关系运算.布尔运算,字符串运算
- 测试fun
- 【备忘】史上最全LINUX之13套开发视频教程下载
- UIScrollView 总结笔记
- CentOS gdb core 调试错误: error reading variable: can't compute CFA for this frame
- 80x86系统微处理器简介
- AsyncTask源码分析
- AIO实现TimeServer
- shell中赋值给变量会产生新进程
- iOS开发系列--地图与定位
- JNI中的数据类型
- 为什么没有产生core 文件