UIPageControl
来源:互联网 发布:淘宝上的情蛊靠谱吗 编辑:程序博客网 时间:2024/05/22 15:40
UIPageControl属性
1.属性比较简单,关键是target方法,实现和图片和page的关联
self.page.numberOfPages = 7; // 还没有移动的点的颜色 self.page.pageIndicatorTintColor = [UIColor redColor]; // 当前点的颜色 self.page.currentPageIndicatorTintColor = [UIColor yellowColor]; [self.page addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];
// page的方法- (void)pageAction:(UIPageControl *)page{// NSLog(@"121212121");// NSLog(@"%ld", self.page.currentPage); // 偏移量 self.scrollView.contentOffset = CGPointMake(WIDTH * self.page.currentPage, 0);}2.如果要实现滑动图片,page的点也会随着变化,需要在scrollView协议中实现
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ self.page.currentPage = self.scrollView.contentOffset.x / WIDTH;}用UIScrollView实现缩放(用属性)
// 设置最大的缩放比例 self.scrollView.maximumZoomScale = 2; // 最小的缩放比例 self.scrollView.minimumZoomScale = 0.5;
// 控制缩放的方法- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{ UIView *view = scrollView.subviews[(NSInteger)scrollView.contentOffset.x / (NSInteger)WIDTH]; // 只要进行缩放,系统就会修改scrollview的contentsize的值,所以当缩小之后,没有办法进行拖拽 // 解决办法:在大的scrollerview上铺小的scrollerview,小的只负责进行缩放 NSLog(@"%g", scrollView.contentSize.width); return view;}缩放时,系统会修改content size的值,所以缩小的时候没有办法进行拖拽
解决办法是在大的scrollView上铺小的scrollView
// 缩放- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{// UIView *view = scrollView.subviews[(NSInteger) self.scrollView.contentOffset.x /(NSInteger)( WIDTH / 2)];// return view; UIImageView *imageView = [scrollView.subviews objectAtIndex:0];// NSLog(@"%@", scrollView.subviews); return imageView;}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ if (self.scrollView.contentOffset.x == WIDTH / 2 * 10) { self.scrollView.contentOffset = CGPointMake(WIDTH / 2, 0); } else if (self.scrollView.contentOffset.x == 0){ self.scrollView.contentOffset = CGPointMake(WIDTH / 2 * 9, 0); } self.page.currentPage = self.scrollView.contentOffset.x / (WIDTH / 2) - 1; // 滚动结束把视图缩放成原有大小 for (UIScrollView *sView in scrollView.subviews) { if ([sView isKindOfClass:[UIScrollView class]]) { sView.zoomScale = 1.0; } }}以后可以直接拿来使用.记得设置小的scrollerview缩放的属性
0 0
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- UIPageControl
- 网站优化时要学会避免哪些错误
- Android NDK使用之--用pthread实现多线程
- 如何在PHP开启gzip页面压缩实例
- unity OnDrawGizmosSelected只在scene起作用
- day03 BOOL类型 关系运算符 逻辑运算符 分支语句 条件运算符 ? : swith语句 枚举类型
- UIPageControl
- 向梯度直方图(Histogram of Oriented Gradient, HOG)特征
- ZooKeeper学习之运维工具zkweb
- 《Android群英传》读书笔记(5)第六章:Android绘图机制与处理技巧之一
- SpringAOP模块初始化过程
- jmeter-http请求
- 公交换乘(南邮上机选做题)
- python 汉子转拼音库
- ZOJ 1438-Asteroids!(bfs入门题)