种草喜马拉雅雅上所需的的图片为什么只能选择直接即时拍的照片而不能从相册里直接选择了呢?

手机应用有哪些相见恨晚的有趣的软件?
我的图书馆
手机应用有哪些相见恨晚的有趣的软件?
&&举报我有靠谱回答24个回答智能手机的飞速发展,让手机的可玩性越来越强,特别是各种五花八门的app,能让我们轻轻松松玩转各种神技能。从社交到拍照、从学习到游戏、从买到卖(说的是买卖物品别想歪)、从真到假(P图)……反正各种app是应有尽有,只有你想不到,没有开发商们做不出的!可是,就算手机内存越来越大,也大不过万千种好玩有趣的app啊!所以手机上总有这么些app,就算手机内存不足,也坚决不会卸载的。在你的手机上,有哪些安装上去后,就再也没卸载过的app呢?当然,微信、QQ、淘宝、支付宝这种日常最经常使用的,自是不必说了,估计每个人手机上都会有吧?咱们来说点儿其他的。音乐类网易云、虾米音乐这两年到处被网易云刷屏,上面的大数据会根据你听歌口味生成每日个性化推荐,歌曲评论区能看到一个有一个真实动人的故事,跑步的时候还能根据你的运动强度来播放歌曲……每一个懂你、为你的功能,或许才是网易云这两年刷屏的原因。最重要的是,听说在网易云上的乐评里很容易能找到男(女)朋友?不知道有没有找到过?求评论区偶遇啊~至于为什么还有虾米音乐,其实只是因为虾米上有教授最钟爱之一的五月天啊~新闻类今日头条今日头条,每天最热资讯、最新消息,不管是科技、八卦、视频等,都能第一时间更新,有没有人和教授一样,经常刷新闻刷到半夜的?休闲娱乐王者农药每天撸一把王者农药已经成为日常生活中的习惯,就像吃饭睡觉一样,一天不撸难受得慌。P图类vsco、snapseed对于简单的P图使用,VSCO可以说是滤镜之王了,各种小清新、日系风格的滤镜随你调整随你用。Snapseed在调整图片上,功能也非常强大,几乎可以说是一个手机版ps了。对于普通用户来说基本够用。操作简单人人都会用。所以每次买新手机,都会第一时间安装上。涨见识类梅花网、知乎、豆瓣这个就因人而异了,说是涨见识,其实也可以说是休闲娱乐。比如中国营销专业领域内容最丰富的梅花网,里面会有各种最新营销案例、内容、各种广告分析案例等等;还有曾经被称为专业知识性很高的知乎,但具体看的什么内容,就看个人喜好了;再有很好体现各个城市独特文化生活的豆瓣社区。这三者侧重点各不相同,有各自的特色,也是教授手机上从未卸载过的app。拍视频类拍大片的VUE6秒钟就可以拍出视频大片的既视感,有多种电影版的特效滤镜选择,效果自然又好看,使用很简单,每次教授要装逼发个小视频的时候,就非VUE不可。看视频类B站优酷爱奇艺?要说安装了就从没卸载过的观看视频类的app,教授貌似还真没有钟情过哪一款,基本都是需要用到的时候才会下载,毕竟每个视频网站内容版权限制,不同的内容需要在不同网站app上才能看,总不能各大视频app都全下载了……&分享&举报今天就给大家推荐一些实用、有趣、相见恨晚的App,整理成合集如下:一、番茄钟类潮汐关键词:专注工作、学习、减压、冥想与白噪音的番茄钟计时器点评:集白噪音和番茄钟与一体,特别适合在工作、读书、学习,以及在图书馆。让自己专注沉浸下来,稳定一颗躁动的心。特别喜欢里面的海浪声和下雨声,还有森林鸟叫声,大自然的声音让人更安定。Forest关键词:付费软件、保持专注、拒做低头族点评:游戏化的番茄钟,不但可以提高工作效率,而且特别好玩。25分钟为一个专注周期,期间不能碰手机。翻看手机,番茄钟就作废,树苗就枯死。二、清单类番茄清单Pro关键词:付费软件、番茄钟、待办清单点评:结合了番茄钟和GTD(待办事项清单),番茄钟使人专注,清单让人有目标有规划,从而提高生活工作的效率。还有统计功能,这是我最喜欢的清单软件,没有之一。另外番茄清单有免费体验版,感兴趣的小伙伴可以下载,与Pro相比,添加的待办事项数量做了限制。同类软件推荐:Things 3、奇妙清单、滴答清单三、睡眠类小睡眠关键词:音乐疗愈助眠、超人气点评:这是一款超火爆的助眠APP,同时有微信小程序可以使用,特别方便。不仅可以用于帮助睡眠,也可以在工作和学习中以静心、提高效率。云梦关键词:人声助眠点评:来自专业配音演员及广播主持人的音频助眠,是通往甜美梦境的声音向导,将帮助你快速入睡。用了一次,声音吼吼听,差点睡不着。蜗牛睡眠关键词:智能闹钟、梦话记录、音乐助眠点评:可以记录梦话与呼噜,分析睡眠状态,形成睡眠分析报告。睡眠音乐入睡停止,智能闹钟清晨唤醒。同类软件推荐:萤火虫睡眠,原名梦画,用音乐和闹钟来改善睡眠,也能记录和检测睡眠,功能和蜗牛睡眠差不多。四、剪贴板工具类Pin关键词:付费软件、剪贴板扩展、类似Bigbang功能点评:ios上最好用的剪贴板扩展工具,几乎可以剪贴任何元素,并转为二维码或者搜索。还可以进行文字分离,类似锤子手机SmartiaOS里的Bigbang功能。五、OCR图片转文字类搜狗输入法文字扫描功能关键词:隐藏功能、实用、图片转文字点评:这个功能在搜狗输入法里面很久了,可惜很多人还没有发现。支持拍照和照片进行扫描转文字,很实用。白描关键词:付费软件3元、文字识别OCR、阅读笔记摘录、原生相册内扩展识别点评:图片OCR识别转成文字, 效率高、准确度高、自动分段。一次付费,不限制识别次数,自由复制分享。 还有更牛逼的功能,可以直接在相册里使用扩展识别OCR,无需打开App。小嘿扫描关键词:付费软件6元、文字识别提取OCR、自动排版、快捷校对点评:适用于转纸质文档,实体书读书笔记,拍照记录信息,截图内容提取,识别结果自动分段。另外支持OCR快捷校对,这个功能很赞,可以在不离开编辑区域的情况下方便与原文对照修改。扫描翻译大师关键词:免费、文字识别OCR、比对修改、内置翻译点评:印刷文本或者图片文本都可以扫描识别,并支持翻译、编辑、分享,关键是还免费!Office Lens关键词:微软、文字识别OCR、支持转成Word和PPT点评:Office Lens是微软旗下软件,不仅可以剪裁、强化白板和文档的图片,而且能识别其中的文字。Office Lens 还能将图像转为可编辑的 Word 和PPT文件。同类软件推荐:CS扫描全能王,这一款大家应该都听说过,就不重点介绍了,扫描功能很强大,但OCR功能收费。另外同类软件还有涂鸦笔记、涂书笔记、识墨笔记、officelens、深度识别和照片扫描仪等。六、手账类Color多彩手账打印关键词:多彩手帐、素材丰富、个性打印点评:有好玩的贴纸、模版、背景、花边笔,精美排版算法+多种精美实体素材,支持个性打印。Mori手账关键词:媲美手写、清新纯粹、日程和待办点评:体验很棒,功能多元,支持私密和公开手账,而且有日程和待办功能。界面和效果媲美手写的。七、思维导图类MindNode关键词:付费软件、高颜值、易上手、功能多点评:思维导图应该有的功能,它都有。从 MindManager、FreeMind、OPML、标记、TaskPaper、CSV 或文本大纲导入思维导图。将思维导图导出为 PDF、FreeMind、OPML、PNG、标记、TaskPaper、CSV 或文本大纲。幕布关键词:树形结构思维管理、思维导图点评:一推出就备受好评的头脑管理工具,集合树形机构和思维导图于一体。可以快速整理结构化的思路,一键查看思维导图。八、手机摄影类ProCam 4关键词:付费软件、手动相机、RAW点评:功能强大,可以手动调整参数,有多种拍摄辅助线,以及3D照片、夜间模式和低速快门模式。低速快门模式可以用来拍夜晚城市的车水马龙的光轨。拍摄照片格式可以是RAW,懂摄影的小伙伴肯定知道这种格式的好处。Foodie关键词:最好用的美食相机点评:滤镜大赞!有30多款专业级即时滤镜,包括美味、波西塔诺、清凉、野餐、香甜、新鲜、烧烤、浪漫、酥脆和耐嚼等系列滤镜。拍出来的照片让人垂涎!型男相机关键词:男人专属的自拍App点评:一直以来,自拍似乎是女孩子的专属,男人都畏惧或者不会自拍。很多App也是主打为女孩子服务,现在终于有一款属于男人自拍的App啦!由美人相机团队推出了型男相机,让全世界的男人都展示出自己最阳光的一面!Snapseed关键词:手机摄影最强后期处理App点评:Google 开发的一款全面而专业的照片编辑工具,6 种工具和滤镜,包括修复、画笔、结构、HDR 和变形等功能,可打开 JPG 和 RAW 文件。口碑爆表,最好用的手机照片处理软件。VUE关键词:手机视频编辑与拍摄利器点评:美到哭的实时视频滤镜,拍摄多段短视频,自动生成蒙太奇效果。让你的手机朋友圈短视频,获得电影级效果。九、手机截图带壳截图关键词:让你的截图带上壳点评:可以给截屏加上手机壳让人一看就看出来你的手机型号,而且给人一种耳目一新的感觉。小Q画笔关键词:腾讯出品、最好用的图片标注工具点评:鹅厂出品的良心作品,有最简洁的界面,提供箭头、形状、涂鸦、文字、马赛克、放大镜等基础标注功能,支持图片裁减、素材导入,并可一键分享至微信或QQ好友。iMark我的标记关键词:多种功能样式、强大好用点评:和小Q画笔功能差不多,我特别喜欢它的聚光灯和马赛克功能,真心好用。长图拼拼关键词:拼接截屏图片、拼接电影台词点评:安卓手机支持滚动截屏,可以截长图,iPhone没有这种软件和功能,只能曲线救国,截图后拼接。拼接电影台词,也是这样做的:先截图再拼接移动图片,把后面的台词放在前一张截图下面。就这么简单!同类软件推荐:拼长图、拼了长图十、计算器类超级计算器关键词:网易出品、复杂计算、历史计算记录点评:网易的产品在行业一直备受好评,这款计算器也不例外。支持各种复杂函数,显示计算过程,支持查看历史计算记录。小米计算器关键词:综合性计算器、亲戚称呼计算点评:集普通计算、科学计算、房贷计算、汇率计算、个税计算及单位换算为一体,还有亲戚称呼计算,因其综合性较强,可以满足各种个性化需求,特推荐!十、语音输入讯飞语音输入法关键词:最强的语音输入法点评:语音输入国内第一,不多说了!讯飞语记关键词:语音写文章点评:讯飞旗下的另一款语音输入产品,主打长时间语音输入,可以轻松用声音写文章、记笔记。十一、音乐类网易云音乐关键词:个性歌单、神评论、3亿人的选择点评:网易云音乐有多好用,不解释!同类软件推荐:之所以推荐QQ音乐、虾米音乐和百度音乐,是因为很多歌曲的版权原因,网易云音乐的曲库不完整,需要其他App来补充。十二、家庭背景声类得到关键词:知识超市、优质免费音频点评:得到掀起了中国知识付费的浪潮,可以算是一个知识大超市。得到在2017年推出了家庭背景声系列音频,由央视知名主持人或播音员朗读,听起来真是享受。同时还有很多免费音频资讯,让你了解一些新事件和新观点。蜻蜓FM关键词:收音机、广播电台、有声小说点评:我最早用来听电台广播,很赞!现在已经是一个综合性的平台啦!喜马拉雅FM关键词:音频界的独角兽、节目丰富、知识付费点评:4亿用户,海量音频!有很多优质的付费精品音频课程,可以在上下班通勤或者在家当做背景声来听。同类软件推荐:荔枝FM特别提示:听音频仅仅有耳机是不够的,最好是有一个蓝牙音响。因为在家里早起洗漱的时候或者下班回家做饭时,戴着耳机很不方便,手机的外放声音也会被噪音遮蔽。所以,最好有一台蓝牙音响声音比较大,一边忙一边听,不耽误事情,也不累耳朵。十三、网盘类百度网盘关键词:超大空间、便捷点评:现在国内大平台网盘已经关闭的没几个了,所以剩下比较好用的,也就是百度网盘了。可以用来备份资料,以及缓解手机内存空间不够的尴尬,需要的时候再下载到手机。十四、阅读类网易蜗牛读书关键词:每天免费阅读1小时、海量书籍、优质领读人点评:打破传统按本收费的习惯,实行按阅读时长买书的全新模式。每天享受无限制读书一小时,低成本看更多书!还有专业领读人入驻荐书,精品书评、优质书单伴你共读。作为网易蜗牛读书的推荐领读人,我强烈安利一波儿蜗牛读书!同类软件推荐:微信读书(新推出了听书功能,非机械性的语音朗读,是主播录制的)、多看(特别推荐其PDF切边和智能混排的功能,体验很好)、掌阅iReader、QQ阅读、Kindle等。十五、运动健身类Keep关键词:自律给我自由、自由运动场点评:不用去健身房,在家也可以做运动。根据用户场景、健身目的、有无器械编排各种训练计划,2分钟也可以完成一次健身训练。各种高颜值、好身材的帅哥美女都在上面,咳咳,听说有人用keep脱单了。十六、购物类什么值得买关键词:张大妈、优惠券、白菜价点评:什么值得买江湖人称“张大妈”,专门撒全球和京东商城、天猫商城、亚马逊、一号店、苏宁易购、当当网等国内电商的各种优惠券、打折和低价信息,“勾引”我们这些没钱的人剁手买买买!打折再多,值才重要,其实应该是需要才重要!一淘关键词:阿里巴巴、淘宝购物返利点评:一言以蔽之,淘宝购物返利。十七、记账类口袋记账关键词:账本管家、随手记账点评:2秒随手记账,支持信用卡账单、支付宝账单导入,自动生成收支统计图。贝多多理财记账关键词:P2P理财记账、提醒日历、避免逾期点评:记账功能一应俱全,全资产记账,信用卡管家,最好用的p2p记账。回款提醒、多账号、多账本、回款日历等功能满足你P2P记账的诉求,并且支持P2P自动记账,数据一键导入;除此之外,还有综合评级排行榜、暴雷平台提醒等辅助功能。网易有钱关键词:网易出品、自动记账、全资产管理点评:手动+自动多维记账法,5分钟理清1月账单。不多说,网易的产品都很靠谱!十八、表情包及装逼类花熊关键词:斗图、表情包制作点评:特别好用的表情包制作App,让你告别PS!轻松换台词,还可以换上你自己和朋友的头像。另外推荐小程序:斗图神器表情包,也可以直接微信小程序搜表情包或者斗图,会有很多同类小程序,都有表情包资源,不过不能编辑制作。Emoji相机关键词:Emoji、大头贴、表情相机点评:在图片上添加 Emoji,有超过 1500 张好玩好看的 Emoji 贴纸。制作器关键词:小程序、朋友圈装逼利器、微商最爱点评:是一款微信小程序,免费、无广告,轻松生成微信红包、朋友圈、微信对话,还有最近大火的“我们是谁”小人对话。十九、航班出行助手类航旅纵横关键词:航班动态、自助值机点评:虽然UI比较丑,但是比较好用。出行好助手,自动关联,时刻知道航班动态,查出行记录、延误有豆赚、自助值机,还可以选座。用过的人都说比航班管家好用!二十、App限免及推荐类Appso关键词:App限免推送、好玩的App推荐点评:带你体验好玩有趣的App,还有限免降价App推送哦!少数派关键词:推荐优质App、提升效率点评:最详尽的 App、设备、系统的使用技巧、提升效率的方法论以及最适合实践这些方法的教程。同类软件推荐:最美应用&分享&举报强推15款手机必备的高逼格APP,让生活变得有趣起来!都是我从几百款app里精挑细选出来、覆盖了各种类型的十五款app,每款我都做了详细说明,均为本人亲测,希望你们喜欢!1、十六番旅行必备,有超详细的攻略和旅行社交论坛,也有超棒的旅行线路推荐、美食和酒店推荐,而且还可以在文本后面提问,有问必答哦。(个人觉得比马蜂窝好用)2、彩云小译一款超好用的翻译软件,出国必备,英语水平不好的小伙伴们有救了,无需按键,你只负责插上耳机说就行了,边说边译,而且还是中英文对译,还能自动识别语种,简直随身配了个翻译有没有!3、有道翻译官这款软件除了可以普通翻译以外,还能拍照翻译,摄像头所到之处都能翻译,我就问你们流不流弊!译译菜单、路牌还是很好用的,而且还有一百多种语言可以选择,去任何国家都不怕啦!4、TED你有多久没有看过一场演讲了?所以TED是一款很棒的演讲类软件,里面有各种类型的演讲类视频,超级全,每周看上一段或几段演讲,整周都像打了鸡血一样!涨知识哦。5、简书这款软件曾经获得过2015ChinaBang最佳软件设计奖,服吗?这是我心目中最优质的写作和阅读平台,且任何人都能够在简书上创作自己的作品,互相交流,而且软件自带一种书香气息,让你体验一种沉浸式的创作和阅读体验。6、keep一款可以称作为私人教练的软件,自由运动场,集健身、跑步、减肥减脂、塑身、骑行、交友、饮食指导等等为一体的运动软件,下完这款软件,你就会发现全世界的人都在运动!7、喝水时间专治不爱喝水的女生,我之前推的一款水果茶就是配合着这款软件来帮我完成美容瘦身的效果的,真的很适合女生,超级好用!8、多彩手帐这是我的随身手帐,我发长文时一直用的是这款手帐,字体、颜色、模版、贴纸、相框等等一个不能少,还能添加图片,简直少女心爆棚哦。9、VSCO超爱它的滤镜,简直不要太高大上哦,我都怀疑倪妮的滤镜都是用这款软件调出来的,一模一样,不管是不会拍照的还是会拍照的都不要错过这款软件哦。10、美妆相机周末在家不想化妆?可是想上传一张美美的自拍发朋友圈怎么办?那就下载美妆相机呀!在这里,你素颜就可以试底妆、试眼妆、试眉毛、试腮红、试口红色号……ysl、香奈儿、纪梵希、迪奥、雅诗兰黛……各种大牌美妆等你来试!对了,里面还有染发功能哦,可以试一下你适合的发色。11、VUE想拍出电影画面的视频?用VUE就好啦!你可以从一个或多个视频源导入内容,每个分镜的开始时间、滤镜、变焦效果等都可以分别修改,还能对剪辑后的视频做整体对比度、饱和度等调整。也可以添加片头、水印、音乐甚至厂牌,显示时机和内容都可以自由订制。最新版本还能添加字幕,帮你更好地用视频表达自己,记录生活,打造个人风格,快去下载自导自演起来吧!12、抖音这是一款音乐创意短视频软件,而且也有超多明星在玩,像邓超、薛之谦、胡彦斌、宋茜、张伦硕、钟丽缇、刘维、杨迪、沈梦辰等等等等,这可比快手有档次多了,这款软件集齐了超多有创意、有想法、有勇气的年轻人,你确定不加入我们年轻人的生活圈子吗?13、NOTHING这款软件连接了一切有品味的人,跟时尚相关,和品味相关,你可以在里面看到最时尚的博主和最新潮的搭配,独一无二的穿搭法则,让你瞬间找到搭配灵感。14、开眼视频这款软件荣获了最美应用年度精选,每天全球精选五条高清短视频,在wifi情况下自动缓存好短视频,内容涵盖创意、运动、广告、音乐等方面,让你“大开眼界”。15、下厨房在这里你可以看到,同样一道菜被好几万人做出来是什么样子,无论男生女生,最好要学会做菜,因为唯有美食与爱不可辜负啊!如果你对厨艺一窍不通,这里有最详细的帖子教你如何做菜,瞬间变厨神好嘛。红烧清炖烘培,谁不会啊!十五款先介绍到这里,还有剩余十五款我下次再给你们介绍,码字实在是个体力活,任我先躺一会儿去,再见!
TA的推荐TA的最新馆藏
喜欢该文的人也喜欢iOS中从相册选取多个照片或拍照,可滑动 - 简书
iOS中从相册选取多个照片或拍照,可滑动
这两天项目中需要用户上传多张图片,或者实时拍照,并多个照片排列在一排。倒是花费了我一番时间。现在写在这里。
展示图.gif
Paste_Image.png
在这里要用到github上的一个开源第三方zlphotobrowser,不过这个第三方有很多bug,自己拿来用不是很好使,需要花时间改。
由于最近工作比较忙,就不一步步解释了,直接将我自己写的代码贴一下
在ViewController.m中
#import "ViewController.h"
#import "UIImage+ZLPhotoLib.h"
#import "ZLPhoto.h"
#import "OneTableViewCell.h"
//#import "UIButton+WebCache.h"
@interface ViewController ()&UITableViewDelegate, UITableViewDataSource,ZLPhotoPickerBrowserViewControllerDelegate,UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout&
int MaxP //照片数量
//在取消相册之前,记录下当前标记过的照片数量
NSMutableArray *_biaojiA
@property (nonatomic , strong) UITableView *tableV
@property (nonatomic , strong) NSMutableArray *
@property (nonatomic, strong) NSMutableArray *//拍照数组
@property (nonatomic, strong) ZLCameraViewController *cameraVc;
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor whiteColor];
MaxPhotos = 5;
_biaojiArr = [[NSMutableArray alloc] init];
[self subTableView];
- (void)subTableView {
_tableView = [[UITableView alloc
] initWithFrame:self.view.frame];
_tableView.delegate =
_tableView.dataSource =
[self.view addSubview:_tableView];
- (NSMutableArray *)assets{
if (!_assets) {
_assets = [NSMutableArray array];
- (NSMutableArray *)arr {
if (!_arr) {
_arr = [NSMutableArray array];
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 10;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellID = @"jiege";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
if (indexPath.row == 2) {
OneTableViewCell *cell = [[OneTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"one"];
cell.selectBtn.backgroundColor = [UIColor blueColor];
[cell.selectBtn addTarget:self action:@selector(diaoyao) forControlEvents:UIControlEventTouchUpInside];
cell.collectionView.showsHorizontalScrollIndicator = NO;
cell.collectionView.delegate =
cell.collectionView.dataSource =
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.assets.
- ( CGSize )collectionView:( UICollectionView *)collectionView layout:( UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:( NSIndexPath *)indexPath{
return CGSizeMake ( 60 , 30 );
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section {
return 15;
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellId" forIndexPath:indexPath];
UIImageView *photoView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 60, 30)];
photoView.backgroundColor = [UIColor yellowColor];
[cell.contentView addSubview:photoView];
photoView.tag = indexPath.row+1000;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapp:)];
photoView.userInteractionEnabled = YES;
[photoView addGestureRecognizer:tap];
//创建删除按钮
UIImageView *deleteView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 5, 5)];
deleteView.backgroundColor = [UIColor redColor ];
[photoView addSubview:deleteView];
deleteView.tag = indexPath.row + 1100;
UITapGestureRecognizer *detap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapp:)];
deleteView.userInteractionEnabled = YES;
[deleteView addGestureRecognizer:detap];
NSLog(@"5555555=assets =
%ld", self.assets.count);
ZLPhotoAssets *asset = self.assets[indexPath.row];
ZLPhotoAssets *asset = _biaojiArr[indexPath.row];
if ([asset isKindOfClass:[ZLPhotoAssets class]]) {
photoView.image = asset.originI
}else if ([asset isKindOfClass:[UIImage class]]) {
photoView.image = (UIImage *)
}else if ([asset isKindOfClass:[ZLCamera class]]) {
photoView.image = [(ZLCamera *)asset photoImage];
deleteView.backgroundColor = [UIColor redColor];
- (void)tapp:(UIGestureRecognizer *)tap {
int index = (int)[tap view].
if (index == 1000) {
NSLog(@"第一个");
UIImageView *photoView = (UIImageView *)[self.view viewWithTag:index];
ZLPhotoPickerBrowserViewController *browserVc = [[ZLPhotoPickerBrowserViewController alloc] init];
[browserVc showHeadPortrait:photoView];
else if (index == 1001) {
NSLog(@"第二个");
if (index == 1100) {
//第一个差号
NSLog(@"第一个差号");
[self.assets removeObjectAtIndex:index % 1100];
[_tableView reloadData];
- (void)handleBtn {
ZLPhotoPickerViewController *pickerVc = [[ZLPhotoPickerViewController alloc] init];
// MaxCount, Default = 9
pickerVc.maxCount = 9;
// Jump AssetsVc
pickerVc.status = PickerViewShowStatusCameraR
// Filter: PickerPhotoStatusAllVideoAndPhotos, PickerPhotoStatusVideos, PickerPhotoStatusPhotos.
pickerVc.photoStatus = PickerPhotoStatusP
// Recoder Select Assets
pickerVc.selectPickers = self.
// Desc Show Photos, And Suppor Camera
pickerVc.topShowPhotoPicker = YES;
pickerVc.isShowCamera = YES;
// CallBack
pickerVc.callBack = ^(NSArray&ZLPhotoAssets *& *status){
self.assets = status.mutableC
[self reloadScrollView];
NSLog(@"提取相册完成,assets == %ld", self.assets.count);
[_tableView reloadData];
[pickerVc showPickerVc:self];
NSLog(@"66666=assets =
%ld", self.assets.count);
_biaojiArr = [NSMutableArray arrayWithArray:self.assets];
_biaojiArr = [self.assets mutableCopy];
NSLog(@"_biaoji == %ld", _biaojiArr.count);
ZLPhotoPickerViewController *pickerVc = [[ZLPhotoPickerViewController alloc] init];
NSArray *array = [[NSArray alloc] initWithArray:self.assets];
pickerVc.selectPickers =
pickerVc.maxCount = MaxP
for (ZLPhotoAssets *photo in array) {
if ([photo isKindOfClass:[ZLCamera class]]){
pickerVc.maxCount -= 1;
NSLog(@"333333=assets =
%ld", self.assets.count);
} else if ([photo isKindOfClass:[ZLPhotoAssets class]]) {
[self.assets removeObject:photo];
NSLog(@"22222=assets =
%ld", self.assets.count);
NSLog(@"1111111=assets =
%ld", self.assets.count);
if (self.assets.count != 0) {
pickerVc.maxCount = MaxPhotos - self.assets.
pickerVc.status = PickerViewShowStatusCameraR
NSLog(@"444444=assets =
%ld", self.assets.count);
[pickerVc showPickerVc:self];
__weak typeof(self) weakSelf =
pickerVc.callBack = ^(NSArray *assets){
[weakSelf.assert removeAllObjects];
[weakSelf.assets addObjectsFromArray:assets];
[weakSelf.tableView reloadData];
//接受取消观察者信息
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notice:) name:@"tongzhi" object:nil];
-(void)notice:(id)sender{
NSLog(@"%@",sender);
_assets = [_biaojiArr mutableCopy];
NSLog(@"_assssss == %ld", _assets.count);
- (void)paizhao {
//判断摄像头是否可用
BOOL isCamera = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear];
if (!isCamera) {
NSLog(@"没有摄像头");
//初始化图片选择控制器
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypeC//设置通过照相来选取照片
imagePicker.allowsEditing = YES; //设置拍照时的下方的工具栏是否显示,如果需要自定义拍摄界面,则可把该工具栏隐藏
imagePicker.delegate =
[self presentViewController:imagePicker animated:YES completion:nil];
NSLog(@"camera count == %ld", _cameraVc.maxCount);
NSLog(@"asset == %ld", _assets.count);
if (_assets.count &= MaxPhotos) {
NSLog(@"当前照片已经到达上线");
_cameraVc = [[ZLCameraViewController alloc] init];
// 拍照最多个数
_cameraVc.maxCount = MaxPhotos-self.assets.
__weak typeof(self) weakSelf =
_cameraVc.callback = ^(NSArray *cameras){
for (id object in cameras) {
[weakSelf.assets addObject:object];
[weakSelf.assets addObjectsFromArray:cameras];
[weakSelf.tableView reloadData];
[_cameraVc showPickerVc:self];
- (void)diaoyao {
//调用相册或者拍照
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"请选择获取图片操作" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertAction *photos = [UIAlertAction actionWithTitle:@"从相册中" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
[self handleBtn];
UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
UIAlertAction *makePhotos = [UIAlertAction actionWithTitle:@"拍照" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
[self paizhao];
[alert addAction:photos];
[alert addAction:makePhotos];
[alert addAction:cancel];
[self presentViewController:alert animated:YES completion:^{
里面用到的collectionView,是我们自定义cell里面的
static NSString *const cellId = @"cellId";
static NSString *const headerId = @"headerId";
static NSString *const footerId = @"footerId";
- (UICollectionView *)collectionView {
if (!_collectionView) {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
[layout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
_collectionView = [[ UICollectionView alloc ] initWithFrame:CGRectMake(80, 10, self.frame.size.width - 80 , 30) collectionViewLayout :layout];
_collectionView.backgroundColor = [UIColor whiteColor];
[_collectionView registerClass :[UICollectionViewCell class ] forCellWithReuseIdentifier : cellId ];
[_collectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:headerId];
[_collectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:footerId];
[self.contentView addSubview:_collectionView];
return _collectionV
运行后如下:
如果你喜欢的话,别忘了点赞,如果帮到了你的话,别忘了请我吃辣条如果你有不懂,可以留言,我有时间会回复的为了更美好的明天,睡觉。
心有多大,路就有多长
用到的组件1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SDWebImage多个缩略图缓存组件 UICKeyChainStore存放用户账号密码组件 Reachability监测网络状态 DateTools友好...
下边都学会就大神了: 声明:都是网上搜集的,能标明出处的都标了.别只搜集而不看,与君共勉.. 先看完整项目完整App@HackerNews-React-Native用 React Native 完成的 HackerNews 客户端。WeChat实现类似微信朋友圈或者QQ空间...
发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注
09:45字数 61697阅读 3316评论 2喜欢 85 用到的组件 1、通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FM...
这是一个用于iOS开发的各种开源库、开源资料、开源技术等等的索引库.转载自:https://github.com/Tim9Liu9/TimLiu-iOSgithub排名 https://github.com/trendinggithub搜索:https://github.c...
Github地址:-CollectionViewLayout-CollectionViewFlowLayout- 这里详解了三个demo去帮助大家更好的了解CollectionViewLayout和CollectionViewFlowLayout 自定义流水布局--Coll...
生命来来往往,它没有来日方长。 16年底,我终于考过了专业资格证书,第五次报名,第四次进考场,第三个城市,第二个省份。第一次认真备考第一次因为考试紧张。 也许是因为我终于醒悟我需要一个证书傍身,我太厌烦现有的工作环境,时间,和一切。当然,除了遇见你。 我想去一个陌生的环境,...
今天一直反反复复听零极限中文版CD持续清理内在,冥想,皈命,学习面经,听好好说话,继续108拜,又听了喜马拉雅电台生命喜悦的祈祷,一切都太棒了!今天很开心!下午出去买东西偶遇一个阿姨推小车,车上坐咯个7个月大的小宝贝,我们一起从小区出去走了差不多10分钟路程,我本来就...
喜欢看书的你,希望不要错过。前不久入手了kindle, 也陆陆续续看完过几本书,话说kindle看书的体验真是好,希望可以达成每年阅读目标。今年目标三十本,说不定可以完成呢。对于我来说,阅读的相关书籍来自朋友,作家推荐。也有在微信阅读参考朋友的书目。当然,我也喜欢参考豆瓣读...
沉沉的夜里 看到醉酒的汉子 我怕,怕有一天 自己也变得和他一般 侧眼看自己的身姿 夜里,永远是孤弱弱的 像能被风吹透 被夜吞噬 梦里也是这般场景 很少有生灵的气息 似乎是一片死寂 死寂却并不压抑 爱上死寂的梦里 一直走稀拉拉的小道 沉醉在颍水河畔的夜里 没有空欢喜,没有丝丝...
本以为论文很简单,没想到写着写着就到了“明天”。昨天的课程很有趣,上午培训师让我们分组讨论上节课讲的人的四大发展阶段,通过报数字,我们顺序找到了自己的组,一起讨论。30分钟后,讨论结束,培训师随机叫某组来说说自己组的结论,其余组做补充。这个很好的一点是——我们必须要...

我要回帖

更多关于 喜马拉雅 的文章

 

随机推荐