摘要:
一、效果图: 二、选择颜色: 分【固定颜色模式】和【自由取模式】。 三、操作栏功能: 1、撤销:撤销上一步操作,可一直往上进行,直到全部清空。 2、清空:直接清除所有绘画。 3、橡皮擦:去除不要的绘画部分。 4、保存:一键保存相册。 四、实现方式: 贝塞尔曲线结合drawrect绘画。 代码结构: 阅读全文
摘要:
最近将我之前的一个swift项目升级swift3,说多了都是泪。。。 其中,遇到这样一个错误: 这是用的三方:ENSwiftSideMenu时引出的 报了两个错: 1、Cannot inherit from non-open class 'ENSideMenuNavigationController 阅读全文
摘要:
JS和OC的交互这是个永恒话题,使用场景也是越来越多,如今一些reactnative、vue框架等,都是在重点结合原生与H5的混合使用。 那么,如何快捷方便的使用两者交互是一个很重要的关键点。 1、传统上的交互使用: - OC调用JS: webView对象通过调用stringByEvaluating 阅读全文
摘要:
最近在搭前端环境,装完node.js之后,准备安装vue工程的初始化工具时(npm install -g vue-cli),遇到这个坑: 大体的意思就是权限问题,导致/usr/local/lib/node_modules权限不够, init失败 解决路径: 1、新开一个终端 2、输入以下命令,查看路 阅读全文
摘要:
这个需求可能有时候会碰到,比如自己的照片加版权,打水印等 网上的方法,有不少感觉不全对,或者需求不是特全,这里我总结了3种场景下的需求: 1、本地图片合成文字 2、本地图片合成图片 3、网络图片先下载再合成图片 效果图: 这里的合成的size大小,我都是随便写的,没特意计算,大家可以按实际需求自定义 阅读全文
摘要:
当我们需要自定义一个View控件时,会有 initWithFrame、initWithCoder、awakeFromNib 这三个系统方法,关于这三个方法何时调用,如何调用,有时候可能很多人会弄混淆。 下面我会就理论结合代码举例来说明一下: 1、initWithFrame 这个方法是当控件不是从xi 阅读全文
摘要:
NSThread是相对GCD和NSOperationQuene而言,比较轻量级的一种多线程处理方式。 但同时,它的弊端就是需要自己管理线程的生命周期,以及线程同步;而另外两种不需要自己管理。 常见方法介绍: 一、获取当前线程 二、获取主线程 三、NSThread的创建 .静态方法 执行完上面代码后会 阅读全文
摘要:
可能很多人都遇到过这种情况: tableview列表,有时加载完,需要默认选中某一行,给予选中效果;或者需要执行某行的点击事件。 我们举例: 比如我想默认选中第一行 可能我们第一个想法就是这样: 然而你会发现,如果你这样写了,有时候往往是没有效果的,然后就尴尬了。。。 其实,我们执行这句话后,并不会 阅读全文
摘要:
不同于WKWebview,wk是有自己的加载进度值的,我们可以直接通过kvo检测到,并显示到进度条内。 但如果我们为了适配ios7,只能使用UIWebview了,这里的加载进度,就比较尴尬了 所以我们的实现方式就是:模拟进度-俗称假进度。 实现原理: 自定义一个UIView的进度条,添加到Nav下方 阅读全文
摘要:
早上和UI刚谈到这个需求,然后自己试了一下,发现还是蛮简单的,记录一下: 思路分析: iOS内应用之间跳转都会用到 URL Schemes这个东西,简单的讲,这个就是用来定义app身份的一个id识别,这里定义了之后,手机运行过这个app之后,会在系统内部记录下这里的身份识别,下次,其他app想访问该 阅读全文