--------0.MWPhoto简单属性解释----------------
MWPhoto *photo = [MWPhoto photoWithURL:[NSURL URLWithString:@"http://farm4.static.flickr.com/3629/3339128908_7aecabc34b.jpg"]];
photo.caption = @"在将photo添加到数组中时,可以在这里设置标题名字";

photo = [MWPhotophotoWithURL:[NSURLfileURLWithPath:[[NSBundlemainBundle]pathForResource:@"photo2"ofType:@"jpg"]]];

photo.caption =@"The London Eye is a giant Ferris wheel situated on the banks of the River Thames, in London, England.";

[photos addObject:photo];

效果图
==============================1.属性详解==========================

MWPhotoBrowser *browser = [[MWPhotoBrowseralloc]initWithDelegate:self];

//分享按钮,默认是

browser.displayActionButton =NO;

//底部是否分页切换导航,默认否

browser.displayNavArrows =NO;

////是否显示选择按钮在图片上,默认否

browser.displaySelectionButtons =YES;

//控制条件控件是否显示,默认否

browser.alwaysShowControls =NO;

//自动适用大小,默认是

browser.zoomPhotosToFill =YES;


//是否允许用网格查看所有图片,默认是

browser.enableGrid =NO;

////是否第一张,默认否

browser.startOnGrid =YES;

//是否开始对缩略图网格代替第一张照片

browser.enableSwipeToDismiss =NO;

//是否自动播放视频

browser.autoPlayOnAppear =NO;

//播放页码

[browser setCurrentPhotoIndex:0];

//自定义选择按钮的样式

//大图时显示选择按钮,(图片大小要和ImageSelectedOn图大小一致)

// browser.customImageSelectedIconName = @"选中";

//选择多图的时候,图片大小要和ImageSelectedSmallOn图大小一致)

//  browser.customImageSelectedSmallIconName = @"选中";

[self.navigationControllerpushViewController:browseranimated:YES];

==============================2.代理方法解释==========================

/*****************************必须实现的代理方法********************************/

//有多少个图片要显示

- (NSUInteger)numberOfPhotosInPhotoBrowser:(MWPhotoBrowser *)photoBrowser {

returnself.photoesArray.count;

}

//在具体的index中,显示网络加载或者本地的某一个图片

- (id<MWPhoto>)photoBrowser:(MWPhotoBrowser *)photoBrowser

photoAtIndex:(NSUInteger)index {

if (index <self.photoesArray.count) {

return [self.photoesArrayobjectAtIndex:index];

}

returnnil;

}

图片效果图:

/*****************************可选实现的代理方法********************************/

//自定义标题

- (NSString *)photoBrowser:(MWPhotoBrowser *)photoBrowser

titleForPhotoAtIndex:(NSUInteger)index {

return [NSStringstringWithFormat:@"%lu/%lu", (unsignedlong)index,

(unsignedlong)self.photoesArray.count];

}

图片效果图:

//加载多张网络缩略图(enableGrid= YES)时,才可以实现该委托方法

- (id <MWPhoto>)photoBrowser:(MWPhotoBrowser *)photoBrowser thumbPhotoAtIndex:(NSUInteger)index{

if (index <self.photoesArray.count) {

return [self.photoesArrayobjectAtIndex:index];

}

returnnil;

}

效果图显示 1 和 2:

//自定义底部视图,继承MWCaptionView这个类,在子类中重写-setupCaption和 -sizeThatFits:,或者加视图。

- (MWCaptionView *)photoBrowser:(MWPhotoBrowser *)photoBrowser captionViewForPhotoAtIndex:(NSUInteger)index{

MWPhoto *photo = [self.photoesArrayobjectAtIndex:index];

MWCaptionView *captionView = [[MWCaptionViewalloc]initWithPhoto:photo];

//    captionView.

return captionView;

}

效果视图:

//将displayActionButton(分享按钮)设置为YES时,这个方法才会触发。之前的分享动作就不会出现。

- (void)photoBrowser:(MWPhotoBrowser *)photoBrowser actionButtonPressedForPhotoAtIndex:(NSUInteger)index{

NSLog(@"content %lu",(unsignedlong)index);

}

效果图

//当前将要显示第几张

- (void)photoBrowser:(MWPhotoBrowser *)photoBrowser didDisplayPhotoAtIndex:(NSUInteger)index{

NSLog(@"content %lu",(unsignedlong)index);

}

效果图:

//设置将要显示的视图,是否被选或者没有被选,把它放到一个数组中。

- (BOOL)photoBrowser:(MWPhotoBrowser *)photoBrowser isPhotoSelectedAtIndex:(NSUInteger)index {

return [[_selectionsobjectAtIndex:index] boolValue];

}

//当前显示图片,选择按钮是否被选,或者没有被选,会触发这个方法

- (void)photoBrowser:(MWPhotoBrowser *)photoBrowser photoAtIndex:(NSUInteger)index selectedChanged:(BOOL)selected {

[_selectionsreplaceObjectAtIndex:index withObject:[NSNumbernumberWithBool:selected]];

NSLog(@"Photo at index %lu selected %@", (unsignedlong)index, selected ? @"YES" :@"NO");

}

////如果是modal出来的,必须手动dismiss掉

/*

当要modal出来的时候,需要使用包装上一个UINavigationController,它可以来管理多张图问题。

UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:browser];

nc.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

[self presentViewController:nc animated:YES completion:nil];

*/

- (void)photoBrowserDidFinishModalPresentation:(MWPhotoBrowser *)photoBrowser{

[self dismissViewControllerAnimated:YES completion:nil];

}

MWPhotoBrowser 属性详解 和代理解释的更多相关文章

  1. OutputCache属性详解(二)一 Location

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  2. Android组件---四大布局的属性详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4372222.html Android常见布局有下面几种: LinearL ...

  3. Android中的windowSoftInputMode属性详解

    这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下     在前面的一篇文章中 ...

  4. [转]CSS vertical-align属性详解 作者:黄映焜

      CSS vertical-align属性详解 posted @ 2014-08-26 17:44 黄映焜   前言:关于vertical-align属性. 实践出真知. 垂直居中. 第二种用法. ...

  5. Linux文件权限与属性详解 之 SUID、SGID & SBIT

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

  6. Linux文件权限与属性详解 之 一般权限

    目录 一般属性 1. iNode: 3152621 2. 文件类型 3.文件访问权限 4. 链接数目: 5. 文件所有者 6. 文件所属组 7. 文件大小 8. 修改时间 9. 文件名称 Linux文 ...

  7. border-sizing属性详解和应用

    box-sizing用于更改用于计算元素宽度和高度的默认的 CSS 盒子模型.它有content-box.border-box和inherit三种取值.inherit指的是从父元素继承box-sizi ...

  8. JavaScript对象的property属性详解

    JavaScript对象的property属性详解:https://www.jb51.net/article/48594.htm JS原型与原型链终极详解_proto_.prototype及const ...

  9. css 14-CSS3属性详解:Web字体

    14-CSS3属性详解:Web字体 #前言 开发人员可以为自已的网页指定特殊的字体(将指定字体提前下载到站点中),无需考虑用户电脑上是否安装了此特殊字体.从此,把特殊字体处理成图片的方式便成为了过去. ...

随机推荐

  1. IT运维分析

    http://www.infoq.com/cn/presentations/case-of-it-operation-analysis-and-log-search-analysis-engine?u ...

  2. 新辰:十种外链终极方法 让SEOer外链之路不再孤独!

    大家都知道,外链就是指从别的站点导入到自己站点的链接.导入链接对于新辰站点优化来说是很重要的一个过程.因此,新辰觉得.对于中小型站点来说.外链但是优化的重中之重! 由于也有了"外链专员&qu ...

  3. centOS6.3(64bit)Hadoop的Eclipse开发环境搭建

    操作系统centos6.3(64位) 一个namenode 两个datanode Hadoop版本号:hadoop-1.1.2 Eclipse版本号:eclipse-standard-kepler-S ...

  4. Spring Cloud Netflix Eureka client源码分析

    1.client端 EurekaClient提供三个功能: EurekaClient API contracts are:* - provide the ability to get Instance ...

  5. (转)OpenCV 基本知识框架

    以下是对<学习OpenCV>一书知识框架的简单梳理 转自:http://blog.chinaunix.net/uid-8402201-id-2899695.html 一.基础操作      ...

  6. AIX 5.3下创建逻辑卷、添加文件系统并挂载

    首先创建逻辑卷smit lv ,这里没多大问题就不细述了. 输入要创建的逻辑卷名.所属卷组.分配多少个LP.创建在哪块磁盘上等,另外还可以设置镜像,默认是只有一份镜像的,即不做mirror. 到此LV ...

  7. Kali的源得数字验证问题

    装上之后第一件事就是执行apt-get update && apt-get upgrade,结果却出现了这样的错误 我添加的是中科大的更新源,在浏览器中是可以正常打开的: deb ht ...

  8. docker部署mysql 实现远程连接

    1. docker search mysql    # 查看mysql版本 2. docker pull mysql:5.7   # 拉取mysql 5.7 3. docker images  # 查 ...

  9. python学习日记-180823

    列表 a=[ ] 1.负数下标:a=[-1]指的是列表a最后一个下标,-2指倒数第二个下标 2.切片——利用切片获得子列表 a[1:4]——'1'切片开始处的下标,‘4’切片结束处的下标(不包括此下标 ...

  10. 迅雷云监工crysadm搭建

    之前在淘宝众筹买了个迅雷赚钱宝Pro,2016年01月到手,玩了半个月. 之后在看百度贴吧时,看到好多大神都在用PC上用网页版软件来管理赚钱宝.非常是好奇.搜索了非常多资料,基本上都已经过时了.都无法 ...