iOS做一个iPhone相册,每个图片都能放大缩小并且翻到第⼆张图时,再翻回来就变成原来的大 ⼩.使⽤UIPageControl与UIScrollView结合.
来源:互联网 发布:flotherm软件免费下载 编辑:程序博客网 时间:2024/05/22 21:58
思路:
⼀个UIScrollView上只能缩放一个子视图,那如何实现每张图片都可以缩放?———一个大的UIScrollView上放多个小的UIScrollView,每个小的UIScrollView上放一张图片
-(void)dealloc{
self.scrollView = nil;
self.scrollView1 = nil;
self.pageControl = nil;
[super dealloc];
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[self layoutScrollView];
}
- (void)layoutScrollView{
self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight)];
self.scrollView.contentSize = CGSizeMake(kScreenWidth * 6, kScreenHeight);
self.scrollView.scrollEnabled = YES;
self.scrollView.pagingEnabled = YES;
self.scrollView.showsHorizontalScrollIndicator = NO;
self.scrollView.showsVerticalScrollIndicator = NO;
self.scrollView.delegate = self;
self.scrollView.tag = 300;
创建小的scrollView,放到大的scrollView上,并把图片放到小的scrollView上
for (int i = 0; i < 6; i++) {
self.scrollView1 = [[UIScrollView alloc] initWithFrame:CGRectMake(kScreenWidth * i, 0, kScreenWidth, kScreenHeight)];
self.scrollView1.contentSize = CGSizeMake(kScreenWidth, kScreenHeight);
self.scrollView1.pagingEnabled = YES;
self.scrollView1.delegate = self;
self.scrollView1.tag = 200 + i;
self.scrollView1.maximumZoomScale = 4.0;
self.scrollView1.minimumZoomScale = 0.5;
[self.scrollView addSubview:self.scrollView1];
UIImageView *imageV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 20, kScreenWidth, kScreenHeight / 3)];
NSString *imageName = [NSString stringWithFormat:@"p%d", i + 1];
NSString *filePath = [[NSBundle mainBundle] pathForResource:imageName ofType:@"jpg"];
imageV.image = [UIImage imageWithContentsOfFile:filePath];
imageV.tag = 100 + i;
[self.scrollView1 addSubview:imageV];
[imageV release];
[self.scrollView1 release];
}
[self.view addSubview:self.scrollView];
[self.scrollView release];
}
#pragma mark - ScrollViewDelegate
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
for (UIScrollView *v in scrollView.subviews) {
return v;
}
return nil;
}
判断的时机是在视图滑动结束的时候
判断视图有没有显示在当前页面,如果在就不做任何操作,如果不在当前页面,就遍历scrollView上的子视图上的视图,把它们的放大倍数设为1.0.
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
if (scrollView == self.scrollView) {
CGFloat x = scrollView.contentOffset.x;
if (x == offSet) {
}else{
offSet = x;
for (UIScrollView *view in scrollView.subviews) {
if ([view isKindOfClass:[UIScrollView class]]) {
[view setZoomScale:1.0];
}
}
}
}
//这个方法会在界面返回之后才改变,不好
// NSInteger curentPage = scrollView.contentOffset.x / kScreenWidth;
// UIScrollView *nowScrollerView = (UIScrollView *)[self.scrollView viewWithTag:200 + curentPage];
// if (nowScrollerView.zoomScale != 1.0 && curentPage != _Page) {
// [nowScrollerView setZoomScale:1.0];
// }
// _Page = curentPage;
}
- iOS做一个iPhone相册,每个图片都能放大缩小并且翻到第⼆张图时,再翻回来就变成原来的大 ⼩.使⽤UIPageControl与UIScrollView结合.
- iPhone相册,(UIScrollView,UIPageControl的综合应用)捏合放大缩小, 左右滑动切换图片
- UIPageControl . UIScrollView UIPageControl 与 UIScrollView 的结合使⽤用
- UIScrollView 图片放大缩小
- UIScrollView中实现图片的放大缩小
- 实现类似于QQ空间相册的点击图片放大,再点后缩小回原来位置
- 实现类似于QQ空间相册的点击图片放大,再点后缩小回原来位置
- UIPageControl与UIScrollView的结合使用
- UIScrollView 的放大缩小
- 点击图片进行放大,再次点击就缩小到原来的地方
- [iOS]UIScrollView 与 UIPageControl实现简单相册功能
- UIScrollView实现图片放大、缩小
- UIScrollView与UIPageControl结合使用
- 图片的放大与缩小
- 图片的放大与缩小
- scrollview里面多张图片,每张都能放大缩小
- UIScrollView,UIPageControl的结合使用
- 图片放大缩小并且文字与图片相对位置不变
- hdu 1011 Starship Troopers 树形背包 !!!原因不明wa?★★★☆
- 将Faster RCNN的python demo改成C++ demo
- git bash使用指南(markdown版本)
- Android:防止过快点击造成多次事件
- 23种设计模式
- iOS做一个iPhone相册,每个图片都能放大缩小并且翻到第⼆张图时,再翻回来就变成原来的大 ⼩.使⽤UIPageControl与UIScrollView结合.
- Redis主从配置
- ubuntu pci wifi bcm4322 无法使用 解决方法
- Compact Composite Descriptors 紧致图像描述子
- 微信自定义分享功能
- MFC下,配置OpenGL所需文件、配置方法与注意事项
- SIMPLE Descriptors (Extended) 简单图像描述子
- C#中在WebClient中使用post发送数据实现方法
- android socket通信