更多
黑客联盟 黑客软件
学生黑客联盟
您现在的位置:学生黑客联盟 > 编程频道 > 移动开发 > 浏览信息
iOS UICollectionView 入门 07 点击cell放大图片
时间:2015-03-20 22:06 来源:www.stuhack.com 作者:学盟网
这一节,我们实现通过点击图片将图片放大显示的功能。 首先我们创建一个名为FlickrPhotoViewConroller的类,这个类继承于UIViewController。修改头文件内容如下: #import @class FlickrPhoto;@interface FlickrPhotoViewConroller : UIViewController@prope

这一节,我们实现通过点击图片将图片放大显示的功能。

学盟网

首先我们创建一个名为FlickrPhotoViewConroller的类,这个类继承于UIViewController。修改头文件内容如下:

内容来自学生黑客联盟

 

内容来自学生黑客联盟

#import 
@class FlickrPhoto;

@interface FlickrPhotoViewConroller : UIViewController
@property (nonatomic, strong) FlickrPhoto *flickrPhoto;
@end
 

www.stuhack.com


声明outlet和action:

  www.stuhack.com

  学盟网

#import "FlickrPhotoViewConroller.h"
#import "Flickr.h"
#import "FlickrPhoto.h"

@interface FlickrPhotoViewConroller ()

@property (weak) IBOutlet UIImageView *imageView;
- (IBAction)done:(id)sender;

@end
 学盟网 
打开storyboard,添加一个UIViewController到storyboard中,设置这个view的class为FlickrPhotoViewConroller。

 

本文来自学盟网(www.stuhack.com)

从主view使用ctrl+drag创建一个到Flickr Photo view controller的modal segue。

www.stuhack.com

\

copyright www.stuhack.com

选中这个segue,设置其identifier为ShowFlickrPhoto

www.stuhack.com

\

www.stuhack.com

 

copyright www.stuhack.com

添加一个toolbar和一个imageview到view中,修改toolbar按钮标题为Done,ctrl+drag连接按钮和FlickrPhotoViewController的done:方法。 www.stuhack.com

再将imageView的outlet也连接上: 学盟网

\ 本文来自学盟网(www.stuhack.com)

\

学盟网

打开ViewController.m,添加以下代码到@interface区域中: copyright www.stuhack.com

  copyright www.stuhack.com

@property (nonatomic) BOOL sharing; 

www.stuhack.com


修改didSelectItemAtIndexPath方法:

 

内容来自学生黑客联盟

 

学盟网

    if (!self.sharing)
    {
        NSString *searchTerm = self.searchs[indexPath.section];
        FlickrPhoto *photo = self.searchResults[searchTerm][indexPath.row];
        [self performSegueWithIdentifier:@"ShowFlickrPhoto" sender:photo];
        [self.collectionView deselectItemAtIndexPath:indexPath animated:YES];
    }
    else
    {
        
    } 

www.stuhack.com

当用户点击某幅缩略图时,执行ShowFlickrPhoto segue。
#import "FlickrPhotoViewConroller.h"
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"ShowFlickrPhoto"])
    {
        FlickrPhotoViewConroller *flickrPhotoViewController = segue.destinationViewController;
        flickrPhotoViewController.flickrPhoto = sender;
    }
} 
内容来自学生黑客联盟
实现viewWillAppear方法,显示大图片到view中:

  内容来自学生黑客联盟

  copyright www.stuhack.com

-(void)viewDidAppear:(BOOL)animated { // 1
    if(self.flickrPhoto.largeImage)
    {
        self.imageView.image = self.flickrPhoto.largeImage;
    }
    else
    { // 2
        self.imageView.image = self.flickrPhoto.thumbnail;
        // 3
        [Flickr loadImageForPhoto:self.flickrPhoto thumbnail:NO completionBlock:^(UIImage *photoImage, NSError *error) {
            if(!error) { // 4
                dispatch_async(dispatch_get_main_queue(), ^{ self.imageView.image =
                    self.flickrPhoto.largeImage;
                });
            }
        }];
    }
} 
copyright www.stuhack.com
实现done方法,通过点击Done按钮返回到主view:

 

本文来自学盟网(www.stuhack.com)

 

学盟网

- (void)done:(id)sender
{
    [self.presentingViewController dismissViewControllerAnimated:YES completion:^{}];
} 
copyright www.stuhack.com

程序执行效果如下:

 

学生黑客联盟 www.stuhack.com

\



  copyright www.stuhack.com




本文标题:iOS UICollectionView 入门 07 点击cell放大图片

本文地址:http://www.stuhack.com/bc/yidong/032014265.html

免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。




百度钱包“落子

一个商户通过审核入驻百度钱包,将获得百度[查看详细]

移动搜索&发

移动搜索在移动端的创新和颠覆也为百度探索[查看详细]

张向宁:移动互联

张向宁回顾了他2002年提出的“互联网十大预[查看详细]

淘宝开卖二维码门

截至4月20日,淘宝已经售出车展的实体门票[查看详细]

百度钱包杀入移动

“百度钱包”将完成的 “搜索用户”与“消[查看详细]