iOS_技巧篇
文章平均质量分 82
分享一些奇淫巧计。
LOLITA0164
小白进城,多多包涵。
展开
-
iOS 暗黑模式
文章目录需求环境获取和设置禁止暗黑模式UITraitCollection适配的元素动态颜色动态图片系统变动在线调试参考地址需求iOS 13 的暗黑模式已经推出来有很长一段时间了,之前觉得苹果应该不会强制要求适配暗黑模式,随意仅仅是给应用做了禁止暗黑模式。然而苹果前段时间要求应用必须适配暗黑模式,微信首当其冲,苹果将最后的大限延迟到了6月30号,现在不得不去适配了。好在网上有着非常多的文章可...原创 2020-04-28 10:49:48 · 710 阅读 · 0 评论 -
iOS 我理解的MVC和MVVM
一、MVC模式二、MVC模式三、MVC优缺点四、鸣谢原创 2017-07-19 09:28:06 · 19540 阅读 · 0 评论 -
iOS 项目进阶管理 - 组件化
文章目录理论篇什么是组件化为什么需要组件化组件化的分层核心工具 CocoaPods典型的产品总结参考实践篇组件的创建设置共享文件使用组件三方依赖库关联远程仓库打 `tag` 并发布到 Cocoapods集成到宿主工程小结理论篇什么是组件化组件化开发就是将一个臃肿的、单一的项目,根据功能/业务/技术等等进行拆分,形成一个个独立的功能组件,然后借助 CocoaPods 管理工具将其任意组合,集成...原创 2020-04-14 11:15:57 · 908 阅读 · 1 评论 -
iOS 路由的概念
路由是一种数据的收集和分发过程。URL携带了获取资源所需要特定信息,通过既定的URL,让应用的页面、组件之间相互解耦变得可能。原创 2020-04-13 16:44:22 · 560 阅读 · 0 评论 -
iOS 面向接口编程
继承面向对象的三大特点:继承、封装、多态,其中继承的最大优点就是代码复用。但是很多时候继承如果没有限制很可能会被滥用,造成代码结构散乱,分散到各个类中,如果想要做功能迁移,可能会拔出萝卜带出泥,高耦合也是继承无法避免的问题。另外,后期维护困难,如果新人加入项目,那么掌握各个父类中的功能也是一项不小的成本。什么是接口接口的概念,不同的语言的实现形式不同。Java中,由于不支持多重继承,因此提供...原创 2020-04-13 09:22:32 · 525 阅读 · 0 评论 -
iOS 依赖注入:Objection 和 Typhoon
【依赖注入】(Dependency Injection) 是面向对象编程的一种设计模式,用来减少代码之间的耦合度。通常基于接口来实现,也就是说:不需要亲自new一个对象,而是通过相关的控制器来获取对象。原创 2020-04-12 17:09:07 · 811 阅读 · 0 评论 -
iOS Jenkins 自动化打包
Jenkins介绍Jenkins是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作(比如代码打包、提测),旨在提供一个开放易用的软件平台,使软件的持续继承变成可能。Jenkins功能包括:1、持续的软件版本发布/测试项目2、监控外部调用执行的工作自动化流程1、版本迭代完毕,已提交git服务器2、执行jenkins构建操作,执行脚本完成签名、打包、上传分发...原创 2018-10-24 16:43:01 · 8238 阅读 · 0 评论 -
iOS 运行时的那些事儿
什么是运行时?编程语言有静态和动态之分。静态语言:如 Java、C,在编译阶段就确定了成员变量、函数的内存地址。动态语言:如OC,在运行期间才确定成员变量和函数地址,即使没有实现部分同样能通过编译。动态语言具有比较高的灵活性,但是正因为如此,动态语言即使在编译通过之后,依然会发生错误,程序有着当对的不确定性。Objective-C 就是一种动态语言,它为我们提供了 runtime 机制,是...原创 2017-07-31 10:27:38 · 19013 阅读 · 0 评论 -
iOS App上架流程(旧)
一. 上传前的准备发布证书和app对应的pp文件。构建app版本信息。二. 上传的具体流程到apple developer官网,生成发布证书和pp文件,双击安装到项目Build Settings/Code Signing中选择刚刚的发布证书和pp文件command+b 编译没错误点击product/archive存档,存档成功后,选择Export按钮导出成ipa文件到apple dev原创 2016-10-17 21:04:57 · 19478 阅读 · 0 评论 -
iOS MVC、MVVM的思考和小结
本文参考了文章浅谈 MVC、MVP 和 MVVM 架构模式并引用了部分的内容,结合自己以往的经验,总结了一下自己对几种架构的理解。##1. iOS 中的MVC上图是对 iOS 中MVC经典的图解:将整个应用分成 Model、View和Controller三个部分,这三个部分的职责如下:视图:管理作为位图显示到屏幕上图像和文字输出;控制器:转换用户的输入并依照用户的输入操作相应的模型和视...原创 2019-09-20 10:40:34 · 362 阅读 · 0 评论 -
iOS ReactiveCocoa(RAC) 番外篇
在上一篇ReactiveCocoa(RAC)教程中,我们学习了ReactiveCocoa的一些基础内容。本篇中我们继续介绍一些有趣的用法。1.0 NSObject相关的信号在基础教程中我们知道,ReactiveCocoa使用分类扩展一套标准UI库的信号,如文本框的rac_textSignal、按钮的rac_signalForControlEvents:等,也有通过多个信号生成组合信号。除此之外...原创 2019-09-20 10:38:51 · 355 阅读 · 0 评论 -
iOS ReactiveCocoa(RAC) 基础教程
官方文档ReactiveCocoa第一部分:【基础教程】1.0 简介作为iOS开发人员,我们所编写的代码几乎都是对某些事件的响应,如按钮点击、收到网络消息、属性更改(KVC键值观察)或者通过 CoreLacation 更改用户位置等等。但是,这些事件都以不同的方式进行传递,如actions、代理、KVO、回调块、通知等等多种形式,虽然灵活多样,但也同时增加了代码的复杂性。[Reactive...原创 2019-09-20 10:35:42 · 777 阅读 · 1 评论 -
iOS 动画篇 - UIKit动画(二)
简单使用篇简介iOS10带来了很多新特性,其中有个 UIViewPropertyAnimator 类,光从名字上就可以看出,这是一个操作属性动画的类。实际上,这个类能够让我们对视图进行动画控制,我们除了可进行正常的运行动画,如开始、暂停、重启等操作动画,还可以将动画转换为交互式动画,任意的控制时间。它可以对视图的可动画属性进行操作,例如frame,center,alpha 和 transfo...原创 2018-11-29 22:02:45 · 8514 阅读 · 0 评论 -
iOS 便捷使用UIAlertViewController、UIAlertView、UIActionSheet
引言在iOS9.0以前,我们可以使用UIAlertView、UIActionSheet两种系统弹窗进行交互操作,分别用于信息提示和操作选项选择,采用代理的设计模式传递用户操作事件,其缺点也异常明显:1、使用不够简便,代理模式使得视图和事件分离,不易维护;2、页面存在多个弹窗时,需要分别区分,代码上不够清晰,这两个缺点也恰恰是笔者很头痛的事情。到了iOS9.0,Apple废弃了,UIAler...原创 2018-05-30 15:42:08 · 12954 阅读 · 0 评论 -
iOS UITableView/UICollectionView的嵌套和悬停的解决方案
应用情景思路说明实现使用Demo地址原创 2017-09-26 16:23:39 · 20351 阅读 · 0 评论 -
iOS 基于WKWebView的JS交互、路由、资源本地化
用户操作交互自定义方法无法释放问题原创 2017-12-25 10:33:52 · 20951 阅读 · 0 评论 -
iOS 数组异常操作的解决办法
问题的产生解决方案运行时原创 2017-12-18 15:46:27 · 21071 阅读 · 0 评论 -
iOS 按钮、Cell暴力点击触发多次响应的问题研究
按钮的解决办法cell的解决办法相关阅读原创 2017-07-31 15:18:24 · 21728 阅读 · 1 评论 -
iOS 页面传值方法汇总
一、方法汇总二、方法介绍原创 2017-07-25 09:10:01 · 19477 阅读 · 0 评论 -
iOS UIButton 传递参数的解决办法
需求原生的UIButton的点击事件唯一的参数就是UIButton本身,我们通常使用UIButton自带的tag来使用不同的参数,在简单的业务场景下,通过tag都是可以满足需求的,但是在某些业务复杂的情况下,tag显得有些无力了,毕竟通过tag来传递点击事件传递参数只是一种间接的方式,没有将数据源关联到控件上。例如 table 视图有多个section,cell上有多个btn,那么btn的点击事...原创 2017-07-24 14:02:44 · 31319 阅读 · 1 评论 -
iOS 开发技巧 - Code Snippets
注以下内容适用于旧版 Xcode(11以下),新版 Xcode 请参考最新内容:iOS 开发技巧 - 标注和 Code Snippets 。引言作为一只每天畅游在代码里而快(ku)乐(bi)的攻城狮,在一遍又一遍敲着重复的代码时候会不会觉得很无聊、浪费生命呢?即使使用了继承、分类、封装、宏定义等等一系列手段去优化代码、提高代码的复用性,但是对一些样式基本一致,再基础不过的代码,例如一些属性...原创 2017-07-14 13:15:00 · 19663 阅读 · 0 评论 -
iOS 开发技巧 - 标注和 Code Snippets
标注Code Snippets原创 2017-07-14 11:02:11 · 19619 阅读 · 0 评论 -
iOS 关于UILabel文本的自适应
单文本多行文本原创 2017-09-25 13:21:03 · 23322 阅读 · 0 评论 -
iOS 字数据模型相互转换
通过运行时获取成员变量,通过 KVC 的形式对其赋值。原创 2017-08-30 15:11:37 · 20922 阅读 · 0 评论 -
iOS tableVIew的偏移量
监听tableVIew的偏移量获取cell的frame原创 2017-09-20 12:08:30 · 23824 阅读 · 0 评论 -
iOS 关于UIAlertController、UIAlertView弹窗问题
关于UIAlertController弹窗问题关于UIAlertView弹窗问题原创 2017-10-23 14:15:54 · 25340 阅读 · 0 评论 -
iOS 获取当前页面
扩展系统单例,方便使用原创 2017-12-22 14:29:47 · 19622 阅读 · 0 评论 -
iOS 基础 - 约束布局
xib 设置代码 设置三方框架原创 2017-12-31 16:30:37 · 18967 阅读 · 0 评论 -
iOS KVC和KVO介绍
KVC:键值编码,使用字符串的方式管理对象的成员、属性KVO:键值监听,一种观察者模式,监听属性的改变,可实现UI和数据模型的分离,基于KVC。原创 2017-08-14 17:01:43 · 18336 阅读 · 0 评论