一、使用方法:
 
#import "MJPhotoBrowser.h"
#import "MJPhoto.h"
 
- (void)tapPhoto:(UITapGestureRecognizer *)recognizer
{
    //1.创建图片浏览器
    MJPhotoBrowser *brower = [[MJPhotoBrowser alloc] init];
   
    //2.告诉图片浏览器显示所有的图片
    NSMutableArray *photos = [NSMutableArray array];
    for (int i = 0 ; i < self.photos.count; i++) {
        Photo *pic = self.photos[i];
        //传递数据给浏览器
        MJPhoto *photo = [[MJPhoto alloc] init];
        photo.url = [NSURL URLWithString:pic.bmiddle_pic];
        photo.srcImageView = self.subviews[i]; //设置来源哪一个UIImageView
        [photos addObject:photo];
    }
    brower.photos = photos;
   
    //3.设置默认显示的图片索引
    brower.currentPhotoIndex = recognizer.view.tag;
   
    //4.显示浏览器
    [brower show];
}
 
 
二、我用到的具体实例:
 
1)腾讯聊天cell中获取第几张照片,并打开图像浏览器
 
- (void)TecentChatImageCellShouldShowFullScreen:(TecentChatImageCell *)cell
{
    MJPhotoBrowser *browser = [[MJPhotoBrowseralloc] init];
   
    browser.currentPhotoIndex = [selfgetPicUrl:cell.indexPath.row];//获取播放第几个图片
   
    browser.photos = _localPicMsgArray;//数组中的是MJPhoto对象
    [browser show];
    //当键盘拉起的时候, 需要关闭键盘, 否则图片显示一半
    [selfdoEndEditGesture];
}
 
2)方法来返回第几个元素
 
- (NSInteger)getPicUrl:(NSInteger)dd
{
    NSInteger c = 0;
    NSInteger d = 0;
    [_localPicMsgArrayremoveAllObjects];
    for (int i=0;i<self.dataSource.count;++i) {
        id model = self.dataSource[i];
        NSInteger type = [NSDictionary_Number_Object_ForKey(model, @"type") integerValue];
        if (type == MESSAGE_TYPE_IMAGE) {
            NSString* imageURL = [model objectForKey:@"imageURLpath"];//远程URL的image
            NSString* imagePath = [model objectForKey:@"path"];//本地URL的image
            MJPhoto *photo = [[MJPhotoalloc] init];
            if (IS_NS_STRING_EMPTY(imageURL)) {
                //通过本地URL来查找iamge的方法
                for (IDSPicSendModel *picModel in_localPicImageMsgArray) {
                    if ([picModel.picPathisEqualToString:imagePath]) {
                        photo.image = picModel.picImage;
                        NSLog(@"%@",picModel.picPath);
                        break;
                    }
                }
            }
            else {
                //取远程URL方法
                photo.url = [NSURLURLWithString:imageURL];
            }
            [_localPicMsgArraycl_addObject:photo];
            if (i == dd) {
                c = d;
            }
            ++d;
        }
    }
    //返回的是第几个图片元素
    return c;
}
 
 

MJPhotoBrowser 用法的更多相关文章

  1. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  2. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  3. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  5. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  6. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  7. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...

  8. chattr用法

    [root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...

  9. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

随机推荐

  1. 空间同构(isomorphic)

    1. introduction 对于一个 M22 矩阵空间,其 dimM22=4,基的构成如下: {(1000)(0010)(0100)(0001)} 则:M22≅R4 对于 P3 多项式空间,也即: ...

  2. JackSon fasterxml学习

    概述 Jackson框架是基于Java平台的一套数据处理工具,被称为"最好的JavaJson解析器".  Jackson框架包含了3个核心库:streaming,databind, ...

  3. XMPP开发adiumclient登陆

    我写在前面client它已经实现了登陆,我用下面的adium要登录落实的朋友加入,而自己写的client在聊天帐号. 第一次登录时adium工欲善其事,必先例如,下面的配置 保存后.你会发现自己的账号 ...

  4. Windows 7 X64位平台下,VC6调试运行程序,中断调试无法退出

    用VC6在64位Windows7下调试的时候,如果中断(Shift+F5)调试,程序无法退出. 问题描述: 当点击F5开始一个项目的调试时,程序在设置的断点处停止,这时按下Shift+F5后,vc6可 ...

  5. jquery.uploadify上传图片,点击保存按钮无法使用解决方法

    用Chrome浏览器上传商品图片时,保存按钮无法点击,如下图 原因:Flash插件状态为禁止 或 询问(默认) 解决方法:将Flash插件状态改为允许,如下图

  6. Linux调试工具

    1. 使用printf调试 #ifdef DEBUG Printf(“valriable x has value = %d\n”, x) #endif 然后在编译选项中加入-DDEBUG 更复杂的调试 ...

  7. 如何移除解决方案中的TFS版本控制

    1.清除(删除)项目下的所有版本控制文件,这些文件有:*.vssscc,*.vspscc删除这些版本控制文件比较简单,搜索这些后缀的文件,删除即可. 2.修改项目的解决方案文件:*.sln (1).先 ...

  8. Extension of write anywhere file system layout

    A file system layout apportions an underlying physical volume into one or more virtual volumes (vvol ...

  9. openresty: nginx worker不同请求之间共享数据

    To globally share data among all the requests handled by the same nginx worker process, encapsulate ...

  10. Metropolis 采样与蒙特卡洛算法

    Metropolis 算法又叫 Metropolis 抽样,是模拟退火算法的基础,在早期的科学计算中蒙特卡洛方法(Monte Carlo)是对大量原子在给定温度下的平衡态的随机模拟,当蒙特卡洛算法计算 ...