终结照片浏览器应用ios源码

开发环境:Swift 1.2  .Xcode 6.3


(一)总体说明1.本框架有OC版本,本次主要是汲取了OC版本所有bug与不足,同时听取在大量使用者的反馈与心声、修复与极大的改善了之前的OC版本并在此基础之上精心推出的Swift完美版,https://github.com/nsdictionary/CorePhotoBrowserVC。
2.纯swift支持,本地与网络支持,横竖屏支持,iPhone所有屏幕支持,iPad平板也支持并力求零Bug。
3.依赖框架说明:CFSnapKit(布局库)、Haneke(图片缓存库)、NVActivityIndicatorView(加载视图)
4.本次的文档会比较有趣,是以图片各功能来讲述的,请认真查看图片说明文字,使用也内嵌在这些图片说明中。
5.本框架基本是在我去若尔盖大草原上的长途汽车途中完成的,所以里面有大量若尔盖风景!
6.不支持pod。


源码下载:


快速集成
1.添加库拖拽PhotoBrowser文件夹到你的项目,拖拽Frameworks中的依赖库到您的项目中。

2.展示相册:分本地相册和网络相册
2.1展示本地相册/** 本地相册 */ func showLocal(index: Int){
let pbVC = PhotoBrowser()/**  设置相册展示样式  */pbVC.showType = showType/**  设置相册类型  */pbVC.photoType = PhotoBrowser.PhotoType.Local//强制关闭显示一切信息pbVC.hideMsgForZoomAndDismissWithSingleTap = truevar models: [PhotoBrowser.PhotoModel] = []let title = langType == LangType.Chinese ? titleLocalCH : titleENlet desc = langType == LangType.Chinese ? descLocalCH : descLocalEN//模型数据数组for (var i=0; i<9; i++){    let model = PhotoBrowser.PhotoModel(localImg:UIImage(named: "\(i+1).jpg")! , titleStr: title, descStr:desc, sourceView: displayView.subviews as! UIView)    models.append(model)}/**  设置数据  */pbVC.photoModels = modelspbVC.show(inVC: self,index: index)}

2.2展示网络相册/** 网络相册相册 */ func showHost(index: Int){
let pbVC = PhotoBrowser()/**  设置相册展示样式  */pbVC.showType = showType/**  设置相册类型  */pbVC.photoType = PhotoBrowser.PhotoType.Host//强制关闭显示一切信息pbVC.hideMsgForZoomAndDismissWithSingleTap = truevar models: [PhotoBrowser.PhotoModel] = []let titles = langType == LangType.Chinese ? titleHostCH : titleHostENlet descs = langType == LangType.Chinese ? descHostCH : descHostEN//模型数据数组for (var i=0; i<9; i++){    let model = PhotoBrowser.PhotoModel(hostHDImgURL: hostHDImageUrls, hostThumbnailImg: (displayView.subviews as! UIImageView).image, titleStr: titles, descStr: descs, sourceView: displayView.subviews as! UIView)    models.append(model)}/**  设置数据  */pbVC.photoModels = modelspbVC.show(inVC: self,index: index)}

本地相册和网络相册不同点总结如下:
1.照片浏览器属性showType:本地相册是枚举值Local,网络相册是枚举值Host
2.照片浏览器的相册模型是PhotoBrowser.PhotoModel类型,他有两个初始化方法:
本地相册请调用初始化方法PhotoBrowser.PhotoModel(localImg:...,
网络相册请调用初始化方法PhotoBrowser.PhotoModel(hostHDImgURL:...这个方法。

3.功能详解(图文使用,请认真查看):
(1) 基本展示可以直接展示照片浏览器,且可指定page显示.之前我看过的几乎所有的照片浏览器基本都是直接添加在window上的,这样做最简单但有致命缺陷就是设置旋转之后,window上的照片浏览器并不知道。所以我在这里更改了传统做法。照片浏览器初始化传入的vc,请传当前业务控制器即可,不要乱传其他的比如navigationVC,tabarVC哦。。



(2) 无NavBar,无TabBar

照片浏览器是隐藏了状态栏的,在ios7下状态栏是基于Cotroller管理的,但这个不方便我操作,所以你需要在info.plist文件中加一个属性:View controller-based status bar appearance 并将值设置为NO。


(3) 有NavBar,无TabBar



(4) 无NavBar,有TabBar

有TabBar的情况下尤为要注意:因为照片浏览器是添加在vc之上的(能自动旋转,并在设计上是合理的),所以您的vc最好是全屏布局的,就是说最好不要使用vc.edgesForExtendedLayout,否则你可能会发现您的照片浏览器不是全屏的大小。


(5) 有NavBar,有TabBar



(6) Push模式请直接设置pbVC.showType = PhotoBrowser.ShowType.Push 
Push模式界面已经自定义,统一了界面



(7) Modal模式请直接设置pbVC.showType = PhotoBrowser.ShowType.Modal 
界面已经自定义



(8) 放大模型:仿网易新闻,经典OC版本模式请直接设置pbVC.showType = PhotoBrowser.ShowType.ZoomAndDismissWithCancelBtnClick 
仿网易效果为:单击不会退出,但会切换隐藏或显示详细信息。 
单击:显示详细信息再单击:隐藏详细信息并进入全屏深度查看模式,此模式下无pageControl



(9) 放大模式:微信、新浪微博缩放模式大家在OC版本反馈想要的功能,,经典OC版本无此功能
请直接设置pbVC.showType = PhotoBrowser.ShowType.ZoomAndDismissWithSingleTap 
仿微信效果为:单击不会切换详细信息,而是直接就退出。 
注:此模式下可定制详细信息显示模式,下面会写到。



(10) 横屏功能支持:大家在OC版本反馈想要的功能横屏模式可兼容iPad,并可竖进竖出、竖进横出、橫进橫出、橫进竖出。进:指的是点击缩略图进入照片浏览器;出:指的是退出照片浏览器。



(11) 图片保存图片做了重复保存逻辑,但下一次再次进入照片浏览器还是可以再次保存OC版本做了严密的仿重复保存处理,不过代价略高。注:我看了微信、微博也是一样的,下次进入还是可以重复保存,所以不纠结



(12) 信息滚动查看:大家在OC版本反馈想要的功能请注意查看第2页详细文字过少因而不能滚动,而第1页文字过多,是可以上下滚动查看的注:文字过少不可滚动。文字过多可直接滚动,可选中文字。



(13) 单击模式:详细信息模式有标题以及具体的详细说明文字信息注:默认为显示详细信息,单击退出模式下此功能可定制,请参见下一个示例



(14) 单击模式:去除详细信息模式,仿微信这个是大家在OC版本反馈想要的功能
无标题以及详细文字,但有pageControl

请设置以下代码,注意此功能仅仅在ZoomAndDismissWithSingleTap下有效

//强制关闭显示一切信息 pbVC.hideMsgForZoomAndDismissWithSingleTap = true



(15) 缩略图未加载成功,大图也没有加载成功默认使用动态生成的黑色图片缩放

swift中的图片缓存框架Haneke目前不支持下载进度,所以没有图片下载进度,其他有进度的框架又是只支持ios8以上。不过我在Haneke的issue中请教了如果获取进度,不过作者还没有回复我。如果有了进度功能,我会尽快添加进度指示。


(16) 缩略图加载成功,大图没有加载成功缩略图动态到照片浏览器正中间120*120缩略图占位状态



(17) 缩略图加载成功,大图也加载成功缩略图直接缩放到高清大图计算后的位置占位状态



(18) 缩略图加载成功,图片查看中下载成功及动画由缩略图占位动态变化到高清占位状态



 
 

详细说明:http://ios.662p.com/thread-2527-1-1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 终结者V2.0升级版源码主要是对原版本进行了一系列的改进和优化,以提升其性能和功能。 首先,在升级版中,对终结者的智能化程度进行了提升。源码中加入了更多的自学习算法,使终结者能够更好地适应不同的环境和对手,并能够根据战斗经验来进行优化和改进。 其次,源码还针对原版本的一些不足进行了改进。例如,在原版本中,终结者的判断和决策能力较为有限,容易受到外部干扰和误判。在升级版中,加入了更多的传感器和算法,使终结者能够更准确地感知和判断周围的环境,并做出合理的决策。 此外,终结者V2.0升级版还加入了更强大的武器系统。源码中对原有的武器进行了改进,增加了更多的杀伤力和射程,使终结者能够更有效地击败对手。同时,升级版还加入了更灵活的战斗策略,能够根据具体情况选择最合适的战术,并能够自动适应对手的战术变化,提高了战斗的胜率。 最后,终结者V2.0升级版还增加了更好的沟通和交互功能。源码中加入了语音识别和语音合成算法,使终结者能够与用户进行更自然、更智能的对话和交流。 总的来说,终结者V2.0升级版源码通过对原版本的改进和优化,提升了终结者在智能性、战斗力和交互性方面的表现,使其成为更强大、更智能的杀戮机器。 ### 回答2: 终结者v2.0升级版源码是一个经过改进和优化的版本,它具备了更强大的功能和更高的智能性。 首先,终结者v2.0升级版源码增加了更多的自主学习和适应能力。它可以通过与人类的互动和不断的实践经验,逐渐掌握新的技能和知识,并根据环境的变化做出相应的调整和决策。 其次,新的源码改进了终结者的自我保护机制。它具备了更强大的自动修复能力,能够自行解决软件异常和硬件故障,提高了系统的稳定性和可靠性。 此外,终结者v2.0升级版源码还加强了对目标的追踪和定位能力。它通过提高视觉和听觉系统的处理速度和准确性,可以更好地感知和锁定目标,为成功执行任务提供了更高的机会。 最重要的是,新源码增加了对人类情感和语义的理解。它可以根据人类的表情和声音判断情绪,并作出相应的回应。这种情感交互的能力,使得终结者能够更好地与人类沟通和合作,提高了人机交互的质量。 总的来说,终结者v2.0升级版源码是一个功能更强大、智能性更高、能力更全面的版本。它具备了自主学习、自我修复、目标定位和情感交互等优势,能够更好地适应不同的环境和任务需求,为人类提供更多的帮助和支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值