iOS
文章平均质量分 77
颜华的部落格
不善清谈,行胜于言。
展开
-
iOS 单例模式详解/避免滥用单例
hihi勇敢的小伙伴儿们大家好,单例相信大家都很熟悉了,它在我们的开发中给到了不少帮助,但是你真的熟悉它吗?是否只是一个泛泛之交,而没有走进它的内心世界呢?今天,我们一起走近“单例”,偷偷地了解一下单例吧~.........原创 2022-06-22 23:09:16 · 2965 阅读 · 1 评论 -
iOS Workspace内多project开发
前言hihi,勇敢的小伙伴儿们大家好,好久不见!之前我写过一篇“多target开发”内容的文章,当时是第一次看见同事大哥哥用多target这种方式实现项目多地区的开发,大大地提高工作效率,在有限的开发时间内出色地完成了多个App的开发,这让我不禁心生敬佩,所以对此进行了小小研究。原来iOS的世界中我还有那么多不足,那么多未知世界需要去探索...今天来跟大家分享的是同一个workspace中多个project开发。但今天只是入门,就是简单的告诉大家如何在workspace中引入创建多个project以原创 2021-10-16 19:47:33 · 1735 阅读 · 1 评论 -
iOS 国际化小技巧“搜索项目中的所有汉字”
前言hihi,勇敢的小伙伴儿们大家好~不知道大家有没有遇到在项目突然被要求实现国际化的情况,并且时间紧任务重,源代码中大量的中文需要全部替换对应的英文,这种情况需要不断的检索代码中的中文,防止有所遗漏,把有限的时间耗费在重复工作上,实在是太浪费了,而且效率低下,工期也会被延长。那么我们需要动脑想一想,有什么可以节省时间减少重复劳动的办法呢?嘿嘿嘿,当然是有的啦~正文如果你是一名开发者,相信你已经熟练的使用Xcode的Find(查找)功能了,在我们日常开发中提供了很大的便利,我们今天搜索.原创 2021-07-19 13:35:08 · 1331 阅读 · 3 评论 -
iOS 从UIButton学习响应者链及相关技术
前言hihi,勇敢的小伙伴儿们大家好,北京的疫情终于告一段落,我每次出门我都担心自己被感染,非常焦虑,我不怕自己被感染,主要是怕自己感染身边的朋友、家人,所以这种焦虑是因为“爱”~ 说出来就感觉轻松了一些。所以有些心事不能总藏在心里,要学会表达。每次都有好多话想说,但又担心不同的人听了会有不同的感受,会对我造成误解,于是渐渐地学会沉默寡言了。每次都想告诉别人我有多么多么感谢别人对我的帮助,表达我有多么多么真诚,但有时候常常苦于证明自己,而忘记了在意对方是否舒适。真想做一个自信、高情商的人,与人相处...原创 2020-07-21 21:34:30 · 1787 阅读 · 0 评论 -
iOS UIWebView上架被拒完全解法办法
前言hihi,勇敢的小伙伴儿们大家好,今天才知道Apple在2020年4月份停止接受使用UIWebView api的APP,所以小伙伴儿在上传APP的过程中也许会收到类似内容的邮件,如图:一下子看到重点提示是UIWebView被弃用了,我们使用了被弃用的API,那么问题来了,怎么彻底清除项目中的UIWebView的代码呢?这就是接下来我要分享给大家的内容。正文首先,正常操作就是全局搜索UIWebView,将使用到UIWebView的地方全部替换成WKWebView及其使用方法。其中需要注意的原创 2020-05-19 21:26:02 · 12016 阅读 · 1 评论 -
iOS AutoreleasePool(自动释放池子)的原理和实现
前言hi,勇敢的小伙伴儿们大家好,疫情终于进入一个比较好的阶段,我也在这段时间内经历了很多,有了很多感悟,能在这场大自然的灾难中活下来,都是极其幸运的人啊,致敬那些挡住黑暗的人,致敬如今的美好生活。珍惜当下。感恩所有。好了,不啰嗦了,今天为大家分享的是AutoreleasePool这个ARC下的大功臣。正文一、AutoreleasePool是什么?AutoreleasePool是OC中的一种内存自动回收机制,它可以延迟加入AutoreleasePool中的变量的release的时机。原创 2020-05-12 23:09:06 · 2812 阅读 · 0 评论 -
iOS 限制 UITextField 输入两位小数
<UITextFieldDelegate>@property(nonatomic,assign) BOOL isHaveDian;/** * textField的代理方法,监听textField的文字改变 * textField.text是当前输入字符之前的textField中的text * * @param textField textField * @p...原创 2019-12-21 11:19:56 · 1027 阅读 · 0 评论 -
iOS 展示LivePhoto功能
前言hihi,勇敢的小伙伴儿们大家好啊~忙里偷闲,学习一点新东西所以来给大家分享来了~这次学习的东西非常简单,展示LivePhoto的功能~为什么要学这个,哈哈哈,当初LivePhoto第一次出现的时候,我没有学它,后来微博出现了,我不以为意。直到抖音上线了带火了LivePhoto的生成功能,我才对这个起了兴趣,我自己也生成了一些LivePhoto作为我的锁屏背景,甚是有趣!但是!搜索生成Live...原创 2018-05-16 16:36:29 · 2493 阅读 · 0 评论 -
iOS NSUserDefaults删除全部记录或删除指定记录
hihi,勇敢的小伙伴儿们你们好。小女不才,之前一直不知道NSUserDefaults删除全部记录的操作,因为发现一个小问题,所以才看到了这样的一段代码。NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];[[NSUserDefaults standardUserDefaults] removePersistentDoma...原创 2018-05-10 16:36:05 · 4642 阅读 · 0 评论 -
iOS 分解视频中所在帧
hihi勇敢的小伙伴儿们,大家好~前言抖音很火,大家应该都知道的哈,这个产品可以说是做的非常成功了,这样一款当下最火的App,作为一名开发者,必须要学习一下人家的产品设计,其中最先被关注的是抖音小视频的封面动图效果如何实现,我自己测试得到的这些小视频封面是从服务器获取的图片,但是我也想自己自己试试能不能实现,所以有了这篇博客。如图所示,为视频内提取的帧动画(侵删)。Demo地址:视频截取帧 有需要...原创 2018-04-20 16:43:11 · 2318 阅读 · 0 评论 -
iOS 形变之CGAffineTransform
hihi,勇敢的小伙伴们儿们大家好~因为我需要绘制文本在某个矩形上,而且需要跟矩形保持角度一致,就研究了一下CGAffineTransform,由于昨天晚上这篇博客写的实在是有点晚了,所以急急忙忙复制到自己博客里,没有整理和消化,对你们有点不负责任,请谅解!但是我在别的地方亲测有效的哦,我看了很多博客,这篇可以说是非常详细的一篇博文了,条理非常清晰,没有Demo给大家展示效果,大家可以自己写个De...原创 2018-04-19 23:22:21 · 388 阅读 · 0 评论 -
iOS 转让App(更换开发者账号)
hihi,勇敢的小伙伴儿们大家好~ 2018.05.04 我们公司的新apple id终于弄好了!!我成功转让了App!!!开心!!!前言作为一个iOS开发者,多年的工作经验有的不仅仅是技术的提升,还有就是真正的经验之谈了,从业几年,很高兴遇到现在的情况,由于某种原因公司需要更换开发者账号,对于我来讲,这方面是空白的。当然要查漏补缺,做下笔记。所以,今天我们需要学习的是如何更换开发者账号,也就是转...原创 2018-04-18 18:20:42 · 13780 阅读 · 4 评论 -
iOS 手势冲突
hihi,勇敢的小伙伴们大家好,好久不见~~~最近在忙项目所以很忙很忙的,但是没有学什么新东西,主要是对UI的设计和修改部分,但是,我是个有点严谨的人,有一个地方,我觉得需要双击点赞,单击暂停的功能比较合理,所以遇到了一个困顿我很久的问题,这个问题就是手势冲突,我给UITapGestureRecognizer创建了两个对象设置了numberOfTapsRequired的值分别是1和2,并分别添加了...原创 2018-04-11 16:11:37 · 310 阅读 · 0 评论 -
iOS 自定义转场入门
前言hi,勇敢的小伙伴儿们大家好,写ARKit的第二篇文章偶然了解了一个叫自定义转场的东西,嗯,我之前一直不知道,像我这种技术渣只会用基本的push和pop等,自定义转场这么高级的词汇我真的是第一次听说,既然学艺不精,就查漏补缺,赶紧了解,于是我搜索了相关博客,其中最通俗易懂的就是来自喵神的博客:ViewController切换 2013年的文章,年代有点久远,但不影响学习。不正经的插一句话:我已...原创 2018-02-24 17:42:53 · 319 阅读 · 0 评论 -
iOS ARKit入门2 - 工作原理及流程介绍
前言勇敢的小伙伴们,大家好,很高兴在初七这年后的第一个工作日能够摆脱假期综合症、调整心态继续ARKit的相关文章,不知道你们的假期怎么样,反正我的就很平淡啦,年纪大了,发现再也找不到志同道合的人了呢,不知道为什么,找不到愿意和我一起出去玩耍的人,想看一部电影身边的人都不愿意去看,想出去旅行身边的人都不想出去旅行,想聚会打牌,身边的人都没有时间,我们在逐渐衰老的过程中到底收获了什么,所谓的青春到底应...原创 2018-02-22 11:26:11 · 672 阅读 · 0 评论 -
iOS Bundle的生成和使用
hi,勇敢的小伙伴儿们大家好,昨天一位朋友问我如何处理项目里的图片,是放在Assets.xcassets吗,我说是啊,他问~“你会打包成Bundle吗?”“啊?我不会。”“不会学啊,愣着干嘛?”“噢,抽时间吧。”于是这篇文章在这个午休期间应运而生。以下正文:什么是Bundle文件?简单理解,就是资源文件包。我们将许多图片、XIB、文本文件组织在一起,打包成一原创 2018-01-23 14:28:19 · 8090 阅读 · 0 评论 -
iOS WKWebView遇到_blank的处理方法
hihi,勇敢的小伙伴们大家好~昨天用WKWebView加载百度网页,查了一下罗罗诺亚·索隆,点进百度百科,再点蓝色超链接,就发现打开词条不好用,用safari对比测试,发现原来默认打开一个新的窗口,嗯,那么问题来了~以下原文:WKWebView重构了webView给开发者带来更多灵活性同时,也会出现一些初看起来莫名其妙的问题。_blank 就是其中之一本文讨论的是原创 2018-01-16 11:23:57 · 7161 阅读 · 0 评论 -
iOS MJExtension字典转模型高级使用技巧
前言勇!敢!的小伙伴儿们,大家好,前几天做直播项目的时候,在学习一个大神的Demo自己做的时候需要用cocoapods导入的有三个第三方,如图所示:相信大家对AFNetworking和SDWebImage已经熟悉的不能再熟悉了,但是对于我而言,第三个MJExtension却是如此的陌生,我好像从没见过他,在大神的代码里我找了一下它的用途,发现是在从服务器接收的数据转换成我们用到原创 2017-12-18 14:40:08 · 17415 阅读 · 0 评论 -
iOS 使用ijkplayer做直播项目流程小结
前言勇~敢~的小伙伴儿们,你们好哇~时隔一个月之久的回归,不知道你们有没有想念我啊~~~今天的博客实在已经有点久远的,2016年兴起的手机直播,我到2018年了才开始动手学习···什么,你问我都去干什么了?上班啊,认真工作啊,热爱工作,沉迷工作,无法自拔!!!你们根本不会懂工作的乐趣。“你生命中最重要的事情是什么?”“上班”“还有比他更重要的事情吗?”原创 2017-12-14 16:41:41 · 2045 阅读 · 0 评论 -
iOS 对iPhone X XS XR XS MAX适配
勇~敢~的小伙伴儿们,你们好,其实我本来不打算写关于iPhone X的适配的,虽然我已经做好了我们App对于iPhone X的适配,但是真的觉的很鸡肋,可是iPhone X的真机我在前几天感受了一下,发现终究是逃不了适配这条路,还是写了这篇文章,哎,以后苹果会不会把这刘海给去掉啊,真的好别扭,我真的觉得iPhone X 好丑,在此立个flag,希望以后能回来打自己脸。嗯就这样。【20...原创 2017-11-15 11:03:30 · 4017 阅读 · 0 评论 -
iOS UIFont原生字体和第三方字体.ttf的使用
勇~敢~的小伙伴儿们,你们好啊~今天跟闺蜜讨论问题的时候,意外的发现了ttf的导入和使用问题。故在此简单的跟大家说一下。1.导入.ttf文件2.检查是否导入成功3.info.plist文件中增加条目4.在代码中使用5.如果不知道字体名字可以打印出来原创 2017-10-30 16:42:13 · 8372 阅读 · 0 评论 -
iOS 打开AppStore进行软件评分
勇!敢!的小伙伴儿们~你们好啊!又到了一年一度的10月26号,哈哈哈,今天学习的内容是给APP评分的技术。一言不合上代码。- (void)showAppStoreReView{ //仅支持iOS10.3+(需要做校验) 且每个APP内每年最多弹出3次评分alart if([SKStoreReviewController respondsToSelector:...原创 2017-10-26 16:25:40 · 2269 阅读 · 4 评论 -
iOS UIActivityViewController实现原生分享AirDrop
勇~敢~的小伙伴们,你们好啊~我今天做项目的时候我们项目中需要加一个下载功能,下载rar?zip?mp3?mp4?还是txt?我没有一个很好的方式把所有的文件格式打开,借用万能的UIActivityViewController使用手机上其他APP打开岂不是个最好的办法?既然到这里,我就落实到实处,开始动手做。效果如图:UIActivityViewController原创 2017-10-20 15:02:32 · 2663 阅读 · 0 评论 -
iOS 调用设备震动
勇~敢~的小伙伴们,大家好,国庆回来,我这个人仿佛一直没有从度假模式中抽离出来,今天看我朋友的博客,看到一篇博客以前从未了解,copy到自己博客里分享给大家~原文地址:http://blog.csdn.net/qq_14991385/article/details/49951945iPhone设备震动的调用非常简单只需要两步就可以让你的app震动起来!首原创 2017-10-17 16:52:36 · 3542 阅读 · 0 评论 -
iOS ARKit入门(附赠王者荣耀周瑜DAE模型贴图)
我是按照“坤小”博客里的文章一步步做的,文章写得清晰易懂,所以搬运给大家,但是由于我不喜欢这个默认的飞机,我想换一个模型,换成我的周瑜大人,所以产生了我的Demo:ARKit入门周瑜模型,我自己提取的模型,分享给大家,请不要做商业用途,谢谢合作!原文地址:http://blog.csdn.net/u013263917/article/details/729031741.1-原创 2017-09-26 16:36:10 · 2456 阅读 · 0 评论 -
iOS 退出应用的更优方案
我们的APP有一个功能是退出应用,之前交给外包做的时候,他们只负责实现功能,但是没有考虑到功能的优化问题,于是直接用崩溃退出的方式。而我接手之后,有一种更好实现的方法:- (void)exitApplication { //直接退,看起来好像是 crash 所以做个动画 [UIView beginAnimations:@"exitApplication" context:n原创 2017-09-20 17:02:49 · 2984 阅读 · 0 评论 -
iOS 长按手势执行两次解决办法
前言今天做一个类似相册的功能,预览图片,长按保存,添加一个长按手势,响应事件是弹出一个ActionSheet,在我看来无懈可击的操作,竟然出现了问题!!!ActionSheet无耻地弹出两次,让我十分悲伤,debug发现,原来是长按手势搞的鬼,天啊,真是的坑爹之作!于是百度了解决办法,通过判断手势的state来执行方法···正文话不多说,上代码: if (sender.s原创 2017-09-16 17:28:14 · 1479 阅读 · 0 评论 -
iOS iCloud入门
前言iCloud是Apple公司提供的云端服务,可以非常方便地让用户免费使用云端的5GB空间存储资料,如果用户愿意,还可以花钱升级到更大的云端存储空间,这些云端存储空间可用于备份用户的个人数据(如通讯录、备忘录、邮件、照片、音乐、视频等),也可以用于备份用户的应用数据。即使用户更换手机,也可以非常方便地将备份在云端的数据重新恢复到新的手机上。我之前是不会用iCloud的,现在觉得是真的方便原创 2017-08-30 16:53:06 · 10827 阅读 · 1 评论 -
iOS10 权限以及相关设置
权限以及相关设置iOS10系统下调用系统相册、相机功能,或者苹果健康都会遇到闪退的情况,调用系统相册报错描述如下:This app has crashed because it attempted to access privacy-sensitive data without a usage description.The app's Info.plist must cont原创 2017-08-29 10:29:42 · 397 阅读 · 0 评论 -
iOS CMMotionManager之感知设备移动数据
前言上一篇我和大家一起学习了CMMotionManager获取加速度数据、陀螺仪数据、磁场数据的方式。今天我们一起学习感知设备移动数据,与上述方式完全相同。程序也可通过如下两种方式来感知设备移动数据:> 使用基于代码块的方式获取设备移动数据。> 使用周期性主动请求的方式获取设备移动数据。正文获取设备移动数据时,CMMotionManager将会返回一个CMDeviceM原创 2017-08-28 15:01:29 · 2419 阅读 · 0 评论 -
iOS CMMotionManager之加速计、陀螺仪
前言今天我们学习的是CoreMotion框架中的加速计和陀螺仪。通过CoreMotion框架提供的加速计来获取设备当前的加速度数据、陀螺仪数据、所处的磁场以及设备的方位等信息。对于iOS应用开发者来说,开发传感器应用十分简单,CoreMotion框架的核心API就是CMMotionManager。开发者只要创建一个CMMotionManager对象,接下来即可采用定时器周期原创 2017-08-22 12:07:04 · 5244 阅读 · 0 评论 -
iOS 实现国际化
前言因为我看的书里面提到国际化,而且我最近把手机上的语言更改成了英文,有很多App换成了英文名,比如微信。所以我开始学习国际化,虽然国内的App大多数很少需要国际化,但是目光不能短浅,还是要学习丰富自己。(日常鸡汤句)这里不妨给大家展示一下我的手机界面,系统语言分别为英文和中文对比。大家可以进行对比,是否这些App本身如此优秀,而在细节上也更加完美呢?那你是否也想让自己研发原创 2017-08-21 10:53:42 · 833 阅读 · 0 评论 -
iOS 贪吃蛇单机版的实现
github地址:贪吃蛇小游戏前言前天了解到疯狂iOS讲义这本书。上面有一个手势教学的代码实例:贪吃蛇。于是找到了它的电子版和源码。进行学习。做出来的效果就是这样的,可能样子有点丑,但我也不知道为什么就突然想起粉色和灰色的配搭。所以观影出现不适,本人概不负责,哈哈哈~正文我设计的这个界面有一个暂停和继续的按钮,还有一个RetroSnaker的Label彩蛋,原创 2017-08-19 14:24:24 · 2986 阅读 · 0 评论 -
iOS 模仿Pokemon Go主页的动画Menu
YHCustomMenu:github地址前言那天我没事申请了个美国区的AppleID,下了个Pokemon Go,注册了个账号,然后进入官网,看到了这样一个菜单栏。是不是很好看? 看完的我少女心爆棚啊~~~~于是着手在iOS上实现,其实很简单。主要是点击事件和动画的结合,动画中包含着图片的渲染 以及那个彩色的覆盖视图的移动动画。附上我第一次做的效果图。直接原创 2017-08-17 17:48:52 · 722 阅读 · 0 评论 -
iOS PNChart的学习和使用
前言不要问我为什么这么多时间写博客。我不会告诉你们的。我们的项目是外包出去的,外包反馈给我们的天气界面显示温度的曲线十分平滑美观,甚是好奇,于是请教了一番,方才知道PNChart这个来自中国大神的开源神器。于是有了这篇文章····我知道我有那么一点点“高产”····但是请大家理解我求知若渴,又想分享给大家的心情好不好(此处卖个萌)。正文1.折线图 英文名叫“原创 2017-08-12 16:07:14 · 6040 阅读 · 1 评论 -
iOS 使用UICountingLabel实现数字变化的动画效果
前言项目中本来需要使用PNChart写了个PNChart的Demo结果pod下来的时候多了个UICountingLabel。于是对此进行学习研究,发现很实用,很简单。于是分享给大家。正文在支付宝(等金融类App)中我们经常看到数字变化的动画效果,奈何囊中羞涩。。。没有大额数字给大家展示····所以只能让大家实际动手操作感受一下:请大家跟着我的操作打开支付宝,点击转账,转原创 2017-08-12 11:18:10 · 4768 阅读 · 4 评论 -
iOS 单选框RadioButton实现
我们知道iOS是没有类似RadioButton的单选框,So 我们来看下github 上start最多的项目RadioButton-ios的实现方式。地址:GitHub - onegray/RadioButton-ios: Lightweight RadioButton class for iOS先看效果图:接下来我们分析下源码:这个项目只有两个文件:RadioButton原创 2017-08-10 08:56:00 · 4525 阅读 · 0 评论 -
iOS Masonry介绍与使用实践(快速上手Autolayout)
前言 MagicNumber -> autoresizingMask -> autolayout以上是纯手写代码所经历的关于页面布局的三个时期在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了在iphone4-iphone4s时代 苹果推出了retina屏 但是给了码农们非常大转载 2017-08-08 10:56:26 · 297 阅读 · 0 评论 -
iOS WKWebView——UIWebView的进阶
今天再次分享WKWebView。是因为我又看到一篇比较好的博客,所以想记录下来。什么是WKWebView,其作用与UIWebView基本一致。 那为什么明明有UIWebView苹果还要开发WKWebView呢? 嗯,少年(仙女),你很有想法。 技术需要与时俱进,1.HTML5的大热必然对UIWebView的要求增高,而WKWebView则具有较多的发言权,它...原创 2017-08-08 10:07:22 · 1672 阅读 · 0 评论 -
iOS 实现UIButton加小红点
因为项目有一个很简单的需求,就是如下图所示。在一个UIButton控件上添加BadgeValue。在网上找了一些方法,有一个我试用后简单好用的做一个笔记,同时分享给大家~UIButton+Badge.h#import @interface UIButton (Badge)@property (strong, nonatomic) UILabel *badge;/原创 2017-08-07 14:18:24 · 3261 阅读 · 0 评论