笔记8-27(自定义UIScrollView,添加手势识别,UIPageControl使用)
来源:互联网 发布:ssh 端口转发 反向代理 编辑:程序博客网 时间:2024/06/05 11:52
1,实现分页效果。
需要自定义UIScrollView,并模仿UITableView里的协议:UITableViewDataSource,UITableViewDelegate。定义两个协议MyScrollViewDelegate,MyScrollViewDataSource,即要知道一共有多少页,每一页长什么样。
再根据滚动的偏移量计算出当前页是第几页。
2,添加点击手势识别
//添加点击手势识别,否则点击图片没反应
UITapGestureRecognizer *tap = [[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(didTap:)];
[selfaddGestureRecognizer:tap];
3,UIScrollView的两个重要的协议
#pragma mark - UIScrollViewDelegate//scrollView已经完成拖动手指离开,图片继续向后减速滚动,decelerate为1。该函数在这个时机调用- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ if (!decelerate) { if (_delegate && [_delegate respondsToSelector:@selector(scrollViewDidEndScroll:)]) { [_delegate scrollViewDidEndScroll:self]; } }}//scrollView已经完成减速停止时,系统自动调用- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
//判断_delegate所指向的对象非空,并且协议里可选的方法已经实现 if (_delegate && [_delegate respondsToSelector:@selector(scrollViewDidEndScroll:)]) { [_delegate scrollViewDidEndScroll:self]; }}4,对于协议里面可选的方法在使用时要进行判断
if (_delegate && [_delegate respondsToSelector:@selector(scrollViewDidEndScroll:)])5,
UIScrollView 里面重要的属性
@property(nonatomic)CGPoint contentOffset; // default CGPointZero
@property(nonatomic)CGSize contentSize; // default CGSizeZero 内容的大小,决定了它能否滚动
//计算当前页
- (NSInteger)currentPage
{
return_scrollView.contentOffset.x /_scrollView.frame.size.width;
}
//设置当前页:还是要将其转化为偏移量contentOffset的多少- (void)setCurrentPage:(NSInteger)currentPage
{
_scrollView.contentOffset =CGPointMake(_scrollView.frame.size.width * currentPage,0);
_currentPage = currentPage;
}
6,UIPageControl的使用。用来指示滚动页面的当前页。有两个重要的属性numberOfPages(一共多少页)和currentPage(当前页)
pageControl = [[UIPageControlalloc]initWithFrame:CGRectMake(0, height - tipHeight - pageHeight, rect.size.width, pageHeight)];
// //只在调试模式使用,得到真实数据后注释掉
//#ifdef DEBUG
// pageControl.numberOfPages = 8;
//#endif
- 笔记8-27(自定义UIScrollView,添加手势识别,UIPageControl使用)
- UIScrollView UIPageControl 的使用
- UIScrollView UIPageControl 的使用
- UIScrollView + UIPageControl的使用
- UIScrollView使用 UIPageControl
- UIScrollView&UIPageControl的使用
- UIScrollView&UIPageControl的使用
- UIScrollView与UIPageControl结合使用
- UIScrollView,UIPageControl的结合使用
- UIScrollVIew和UIPageControl学习使用
- UIPageControl+UIScrollView的简单使用
- UIScrollView及UIPageControl的使用
- UIScrollView, UIPageControl 的详细使用
- UIScrollView、UIPageControl
- UIScrollView--UIPageControl
- UIScrollView、UIPageControl
- UIPageControl+UIScrollView
- UIScrollView,UIPageControl
- 机房收费系统-------总结
- HDU2546-饭卡(DP+贪心)
- Sizzle.filter [ 源码分析 ]
- 【Java集合源码剖析】LinkedHashmap源码剖析
- OpenCV基础篇之像素操作对比度调节
- 笔记8-27(自定义UIScrollView,添加手势识别,UIPageControl使用)
- zk 消息推送
- 大话数据结构-第三章之线性表&链表
- ACM大牛和菜鸟的区别
- Java的成长之路----三大特性之封装
- 师兄面试总结编程部分解答之三
- HTTP协议 (七) Cookie
- 关于ubuntu下 gedit 编辑器中文打开乱码的问题
- eclipse 远程调试 debug