IOS7笔记-10、多线程、滚动视图
2016-06-11 17:12
357 查看
1、滚动视图使用方方法:
2、多线程调用方法
@interface ImageViewController ()<UIScrollViewDelegate>//声明委托 @property (strong, nonatomic) UIImageView *imageView; @property (strong, nonatomic) UIImage *image; @property (weak, nonatomic) IBOutlet UIScrollView *scrollView; @property (weak, nonatomic) IBOutlet UIActivityIndicatorView *spinner; @end -(void)setScrollView:(UIScrollView *)scrollView { _scrollView = scrollView; _scrollView.minimumZoomScale = 0.2; //设置缩放特性 _scrollView.maximumZoomScale = 2.0; //设置缩放特性 _scrollView.delegate = self; //设置委托 self.scrollView.contentSize = self.image ? self.image.size : CGSizeZero; //设置滚动视图可移动特性 } //实现缩放委托 -(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { return self.imageView; } -(UIImageView *)imageView { if (!_imageView) { _imageView = [[UIImageView alloc] init]; } return _imageView; } -(UIImage *)image { return self.imageView.image; } -(void)setImage:(UIImage *)image { self.imageView.image = image; [self.imageView sizeToFit]; self.scrollView.contentSize = self.image ? self.image.size : CGSizeZero; //设置滚动视图可移动特性 } -(void)viewDidLoad { [super viewDidLoad]; [self.scrollView addSubview:self.imageView]; }
2、多线程调用方法
-(void)setImageURL:(NSURL *)imageURL { _imageURL = imageURL; //self.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:self.imageURL]]; [self startDownloadingImage]; } -(void)startDownloadingImage { self.image = nil; if (self.imageURL) { [self.spinner startAnimating]; NSURLRequest *request = [NSURLRequest requestWithURL:self.imageURL];//设置请求对象 NSURLSessionConfiguration *congiguration = [NSURLSessionConfiguration ephemeralSessionConfiguration];//设置请求任务配置方法 NSURLSession *session = [NSURLSession sessionWithConfiguration:congiguration];//定义URL任务 NSURLSessionDownloadTask *task = [session downloadTaskWithRequest:request completionHandler:^(NSURL *locationfile, NSURLResponse *response, NSError *error) { if (!error) { if ([request.URL isEqual:self.imageURL]) { UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:locationfile]]; //self.image = image; dispatch_async(dispatch_get_main_queue(), ^{ self.image = image; }); //[self performSelectorOnMainThread:@selector(setImage:) withObject:image waitUntilDone:NO]; } } }];//定义一个线程任务 在子线程中调用网络下载,并把在下载成功的图片在主线程中调用显示 [task resume];//恢复任务线程执行,创建任务时默认是挂起状态,需要恢复才能真正执行 } }
相关文章推荐
- iOS 获取设备信息
- iOS CocoaPods的使用
- ARM汇编基础(iOS逆向)
- 图片拉伸
- 基本输入输出系统BIOS
- iOS开发多线程篇—多线程简单介绍
- 【IOS】Instruments 使用教程
- iOS视频录制、压缩导出、取帧
- nagios安装
- 不得姐实战教程 02 配置tabbar
- Xcode各版本官方下载及百度云盘下载, Mac和IOS及Xcode版本历史.
- iOS给工程中选中的文件创建分组文件夹(小技巧)
- 技术博客的重要性
- iOS9新增关键字和一些新特性
- iOS 解决button设置背景图片的时候拉伸变形的问题
- iOS 应用发布流程
- iOS支付宝支付
- iOS构建用户界面
- IOS地图开发及定位
- iOS手动加载控制器xib与指定加载控制器xib的情况分析