随笔分类 -  iOS

摘要:本文为转载文章 . 版权归原文所有。 原文链接:iOS 5分钟集成热修复(JSPatch) 前言 在iOS中有很多种热修复方案,在这里我就不一一介绍了 这里有一篇介绍热修复的文章:iOS中的HotFix方案总结详解 我选择的热修复方案是JSPatch我觉得JSPatch的优点有: 非侵入式 上手快 阅读全文
posted @ 2017-02-27 21:00 那一抹风情 阅读(3822) 评论(0) 推荐(0)
摘要:前端时间,公司要调研直播相关的内容,特地花时间进行了一番调研。 本篇将记录其中的推流篇-本地推理播放测试。 关于Nginx: 下面的例子会就本地视频推流和手机录屏推流分别列举。 Mac搭建nginx+rtmp服务器 打开终端, 查看是否已经安装了Homebrew, 直接终端输入命令 如果Mac已经安 阅读全文
posted @ 2017-02-22 10:29 那一抹风情 阅读(2562) 评论(0) 推荐(0)
摘要:本文为转载文章 版权归原文所有 什么是UIKit动力学(UIKit Dynamics) 其实就是UIKit的一套动画和交互体系。我们现在进行UI动画基本都是使用CoreAnimation或者UIView animations。而UIKit动力学最大的特点是将现实世界动力驱动的动画引入了UIKit,比 阅读全文
posted @ 2017-02-18 10:12 那一抹风情 阅读(903) 评论(0) 推荐(0)
摘要:iOS分类: 很多说法是只能添加方法,而不能添加成员变量或属性。 有些人可能知道,这种说法是不严谨的,并不是绝对不能添加变量。 解释如下: 我们知道在一个类中用@property声明属性,编译器会自动帮我们生成_成员变量和setter/getter,但分类的指针结构体中,根本没有属性列表。所以在分类 阅读全文
posted @ 2017-02-15 17:34 那一抹风情 阅读(5707) 评论(0) 推荐(0)
摘要:在多人合作程序开发的过程中,我们有时会出现错误提交的情况,如交叉提交,活着有新代码没有pull直接commit等等一系列情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。 一、RESET命令 Git reset 命令有三个主要 阅读全文
posted @ 2017-02-15 17:34 那一抹风情 阅读(2985) 评论(0) 推荐(0)
摘要:很多人可能会问 iOS的分类和扩展的区别,网上很多的讲解,但是一般都是分类讲的多,而这也是我们平常比较常用的知识;但是,对于扩展,总觉得理解的朦朦胧胧,不够透彻。 这里就讲一下我自己的理解,但是这个理解也是集合了前辈的经验来的,只不过我用大白文再延伸一点。 对于类扩展,先看下面的概念: 使用格式: 阅读全文
posted @ 2017-02-15 17:33 那一抹风情 阅读(7433) 评论(0) 推荐(1)
摘要:本文为转载,版权声明 版权归:今日头条iOS团队 原文:https://techblog.toutiao.com/2017/01/17/iosspeed/ 开始 应用启动时间,直接影响用户对一款应用的判断和使用体验。头条主app本身就包含非常多并且复杂度高的业务模块(如新闻、视频等),也接入了很多第 阅读全文
posted @ 2017-02-11 14:19 那一抹风情 阅读(1460) 评论(0) 推荐(0)
摘要:一、效果图: 二、选择颜色: 分【固定颜色模式】和【自由取模式】。 三、操作栏功能: 1、撤销:撤销上一步操作,可一直往上进行,直到全部清空。 2、清空:直接清除所有绘画。 3、橡皮擦:去除不要的绘画部分。 4、保存:一键保存相册。 四、实现方式: 贝塞尔曲线结合drawrect绘画。 代码结构: 阅读全文
posted @ 2017-02-10 10:00 那一抹风情 阅读(7694) 评论(4) 推荐(0)
摘要:最近将我之前的一个swift项目升级swift3,说多了都是泪。。。 其中,遇到这样一个错误: 这是用的三方:ENSwiftSideMenu时引出的 报了两个错: 1、Cannot inherit from non-open class 'ENSideMenuNavigationController 阅读全文
posted @ 2017-02-09 17:20 那一抹风情 阅读(2331) 评论(0) 推荐(0)
摘要:JS和OC的交互这是个永恒话题,使用场景也是越来越多,如今一些reactnative、vue框架等,都是在重点结合原生与H5的混合使用。 那么,如何快捷方便的使用两者交互是一个很重要的关键点。 1、传统上的交互使用: - OC调用JS: webView对象通过调用stringByEvaluating 阅读全文
posted @ 2017-02-08 16:51 那一抹风情 阅读(20574) 评论(4) 推荐(0)
摘要:这个需求可能有时候会碰到,比如自己的照片加版权,打水印等 网上的方法,有不少感觉不全对,或者需求不是特全,这里我总结了3种场景下的需求: 1、本地图片合成文字 2、本地图片合成图片 3、网络图片先下载再合成图片 效果图: 这里的合成的size大小,我都是随便写的,没特意计算,大家可以按实际需求自定义 阅读全文
posted @ 2017-01-24 11:26 那一抹风情 阅读(6555) 评论(0) 推荐(1)
摘要:当我们需要自定义一个View控件时,会有 initWithFrame、initWithCoder、awakeFromNib 这三个系统方法,关于这三个方法何时调用,如何调用,有时候可能很多人会弄混淆。 下面我会就理论结合代码举例来说明一下: 1、initWithFrame 这个方法是当控件不是从xi 阅读全文
posted @ 2017-01-23 14:29 那一抹风情 阅读(19101) 评论(1) 推荐(1)
摘要:NSThread是相对GCD和NSOperationQuene而言,比较轻量级的一种多线程处理方式。 但同时,它的弊端就是需要自己管理线程的生命周期,以及线程同步;而另外两种不需要自己管理。 常见方法介绍: 一、获取当前线程 二、获取主线程 三、NSThread的创建 .静态方法 执行完上面代码后会 阅读全文
posted @ 2017-01-21 09:48 那一抹风情 阅读(1270) 评论(0) 推荐(0)
摘要:可能很多人都遇到过这种情况: tableview列表,有时加载完,需要默认选中某一行,给予选中效果;或者需要执行某行的点击事件。 我们举例: 比如我想默认选中第一行 可能我们第一个想法就是这样: 然而你会发现,如果你这样写了,有时候往往是没有效果的,然后就尴尬了。。。 其实,我们执行这句话后,并不会 阅读全文
posted @ 2017-01-21 09:48 那一抹风情 阅读(6047) 评论(1) 推荐(0)
摘要:不同于WKWebview,wk是有自己的加载进度值的,我们可以直接通过kvo检测到,并显示到进度条内。 但如果我们为了适配ios7,只能使用UIWebview了,这里的加载进度,就比较尴尬了 所以我们的实现方式就是:模拟进度-俗称假进度。 实现原理: 自定义一个UIView的进度条,添加到Nav下方 阅读全文
posted @ 2017-01-18 16:55 那一抹风情 阅读(8847) 评论(0) 推荐(0)
摘要:早上和UI刚谈到这个需求,然后自己试了一下,发现还是蛮简单的,记录一下: 思路分析: iOS内应用之间跳转都会用到 URL Schemes这个东西,简单的讲,这个就是用来定义app身份的一个id识别,这里定义了之后,手机运行过这个app之后,会在系统内部记录下这里的身份识别,下次,其他app想访问该 阅读全文
posted @ 2017-01-17 10:25 那一抹风情 阅读(10992) 评论(3) 推荐(0)
摘要:正常情况下,我们点击tabbar都只有一个变色效果,但有时候,如果我们想给它添加一个点击动画,该如何做呢? 先上几个效果图: 1、先放大,再缩小 2、Z轴旋转 3、Y轴位移 4、放大并保持 原理:利用UITabBarController实现,在tabbar的 didSelectItem 代理里添加动 阅读全文
posted @ 2017-01-17 09:45 那一抹风情 阅读(8104) 评论(0) 推荐(1)
摘要:理解这个概念之前,先抛出一个问题 问题描述: 假设现在系统有两个空闲资源可以被利用,但同一时间却有三个线程要进行访问,这种情况下,该如何处理呢? 或者 我们要下载很多图片,并发异步进行,每个下载都会开辟一个新线程,可是我们又担心太多线程肯定cpu吃不消,那么我们这里也可以用信号量控制一下最大开辟线程 阅读全文
posted @ 2017-01-16 09:20 那一抹风情 阅读(47812) 评论(5) 推荐(8)
摘要:上一篇GCD基础篇,以及同步、异步,并发、并行几个概率的理解 关于dispatch_group的概念以及几种场景下的使用 1、关于dispatch_group 把一组任务提交到队列中,这些队列可以不相关,然后监听这组任务完成的事件。 最常见的几个方法: 2、实际使用场景 场景1: 现在有4个任务,任 阅读全文
posted @ 2017-01-11 15:45 那一抹风情 阅读(4635) 评论(0) 推荐(0)
摘要:前言: 这个问题的确困扰了很久,查了国内外各种论坛、社区,都没找到一个有效的解决办法。 所幸后来用一种折中的办法解决了,但也不是从技术根本上解决的,所以有解决的兄弟还望指导下。 正文如下: 一、需求描述: 1、扫描设备签到,只扫描,不连接 2、签到后,对设备进行区域监听 3、监听过程中,收到离开回调 阅读全文
posted @ 2017-01-11 11:38 那一抹风情 阅读(1498) 评论(0) 推荐(0)