设为首页 加入收藏

TOP

ios开发UI篇—UIScrollView属性及其代理方法(二)
2019-08-26 07:00:09 】 浏览:60
Tags:ios 开发 UI篇 UIScrollView 属性 及其 代理 方法
ew.backgroundColor
= [UIColor orangeColor]; // 初始化一个scrollView UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.frame]; scrollView.backgroundColor = [UIColor greenColor]; scrollView.delegate = self; // 设置缩放比率 // 设置可缩小道德最小比例 scrollView.minimumZoomScale = 0.5; // 设置可放大的最大比例 scrollView.maximumZoomScale = 2.0; [self.view addSubview:scrollView]; // 使得要添加的图片宽高成比例 UIImage *myImage = [UIImage imageNamed:@"7.jpg"]; // 得到原始宽高 float imageWidth = myImage.size.width; float imageHeight = myImage.size.height; // 这里我们规定imageView的宽为200,根据此宽度得到等比例的高度 float imageViewWidth = 200; float imageViewHeight = 200 *imageHeight/imageWidth; // 初始化一个UIimageview UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, imageViewWidth, imageViewHeight)]; // 为imageView设置图片 imageView.image = myImage; // 让imageView居中 imageView.center = self.view.center; imageView.tag = 1000; [scrollView addSubview:imageView]; }

7、UIScrollView缩放有关的代理

#pragma mark -- 滚动视图与缩放有关的代理方法
//指定scrollview的某一个子视图为可缩放视图,前提条件是次视图已经添加到scrollview上面
-(UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    UIView *imageView = (UIView*)[scrollView viewWithTag:1000];
    return imageView;
}

// 开始缩放的代理方法  第二个参数view:这个参数使我们将要缩放的视图(这里就是imageView)
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view{
    NSLog(@"%@",view);
}

// 正在缩放的代理方法  只要在缩放就执行该方法,所以此方法会在缩放过程中多次调用
- (void)scrollViewDidZoom:(UIScrollView *)scrollView{
    // 在缩放过程中为了使得该视图一直在屏幕中间,所以我们需要在他缩放的过程中一直调整他的center
    // 得到scrollview的子视图
    UIImageView *imageView = (UIImageView *)[scrollView viewWithTag:1000];
    // 打印imageView的frame,分析为什么他的位置会改变
  //  NSLog(@"frame -- %@",NSStringFromCGRect(imageView.frame));
    
    // 设置imageview的center,是他的位置一直在屏幕中央
    imageView.center = scrollView.center;
    // 打印contentSize  分析为什么缩放之后会滑动
    NSLog(@"contentSize %@",NSStringFromCGSize(scrollView.contentSize));
}

// 缩放结束所执行的代理方法
/**
 *  @ view    当前正在缩放的视图
 *  @ scale  当前正在缩放视图的缩放比例
 */
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale{
    // 缩放完成之后恢复原大小,这里运用到2D仿射变换函数中与捏合有关的函数
    view.transform =CGAffineTransformMakeScale(1, 1);
}
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇断言NSAssert的使用 下一篇UITableView 基本使用方法总结

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目