超简单!!! iOS 设置状态栏、导航栏按钮、标题、颜色、透明度,偏移等
// 一行代码搞定导航栏颜色
navBarBarTintColor = .white
// 一行代码搞定导航栏透明度
navBarBackgroundAlpha = alpha
// 一行代码搞定导航栏两边按钮颜色
navBarTintColor = UIColor(red: 0, green: 0.478431, blue: 1, alpha: 1.0)
// 一行代码搞定导航栏上标题颜色
navBarTitleColor = .black
// 一行代码搞定状态栏是 default 还是 lightContent
statusBarStyle = .default
iOS开发之指纹验证(touch ID)
指纹验证使用详解
玩转iOS开发:iOS中的Socket编程(二)
文章分享至我的个人技术博客: https://cainrun.github.io/149… 接着讲 在之前的那篇文章, 我们了解了一些关于Socket的基础知识, 如果没有去看的朋友, 可以去看看玩转iOS开发:iOS中的Socket编程(一). 那…
使用 Cocoapods 发布封装库
Cocoapods 一般用来管理第三方库,当我们自己封装了一个功能模块时也可以使用 Cocoapods 发布给其他人使用,以下是我按照官方教程实际操作的流程。 提交到 GitHub 假设我们已经完成了一个功能模块的封装,以 HelloPods 为例。首先,我们要在 GitHub …
玩转iOS开发:装逼技术RunTime的应用(三)
在上一章节里晓得了怎么在Category里关联对象, 以及利用RunTime转换模型的时候预防了三种转换时的情况, 如果没有去看的朋友可以到玩转iOS开发:装逼技术RunTime的应用(二)看看. 逐个逐个去写么? 万一写完之后突然要改属性怎么办? 逐个去改? 这样子就会大量的…
教你一步步用 CocoaPods 创建远程公有库
教你一步步用 CocoaPods 创建远程公有库
仿微信图片浏览转场、酷狗转场 – iOS自定义交互式转场动画(从零到一 + 实战案例)
转场动画就是从一个场景以动画的形式过渡到另一个场景。自定义转场动画的意义是脱离系统固定的转场,实现UI交互设计师设计的视觉效果强的转场动画。为了方便大家一步一步掌握自定义转场动画,每个效果我都写了非常详细的Demo(包括导航push的转场和模态modal的转场)
通过Universal Link在微信页面中唤起原生App
在某些电商项目,或者是社交媒体的分享页面中,我们经常会看到在页面的顶端或者底部遇到有【打开App】或者【下载App】这样的按钮。我们可以通过Universal Link,将App 与网页端建立连接桥,可以从Safari 或者其他前端浏览器来识别并唤醒App,甚至是微信环境下也可以冲破障碍直接唤起App。
# iOS 一窥并发编程底层(一)
语歌博客 逻辑控制流 在我们系统中通常是会有其它程序在运行,进程是可以告诉每一个程序它是独自在使用处理器。这个时候如果有调试器单步去执行程序,就会出现一系列的程序计数器( PC ) 值,这些值唯一的对应于包含在程序的可执行目标文件的指令。这个所谓的 PC 值叫做 逻辑控制流 一…
一款为 iOS、Mac 开发者开发的翻译软件(JFFanYi)
JFFanYi 是一款极其简单轻便的中英翻译软件,可翻译驼峰格式的英文语句、带有苹果特有前缀的字符串,最主要的是可以将中文句子转换成驼峰格式的英文语句,其可直接作为方法名使用,且不用复制,其翻译结果默认复制到粘贴板,可直接粘贴使用。
玩转iOS开发:iOS开发中的装逼技术 – RunTime(一)
RunTime是Objective-C的特性, 如果用别的话来说, 就是因为Objective-C是动态语言, 然后RunTime就是它的运行时机制这些这些, 然后就没然后了… 但是对于我这些渣渣来说, 个人认为就是一堆C语言写的东西, 废话少说了, 直接来撸吧. 这里是有…
iOS多线程全套:线程生命周期,多线程的四种解决方案,线程安全问题,GCD的使用,NSOperation的使用
本文主要是分享iOS多线程的相关内容,为了更系统的讲解,将分为以下7个方面来展开描述。 线程就像火车的一节车厢,进程则是火车。车厢(线程)离开火车(进程)是无法跑动的,而火车(进程)至少有一节车厢(主线程)。多线程可以看做多个车厢,它的出现是为了提高效率。 多线程是通过提高资源…
iOS 网络请求之 ASI 与 AFN 的二次封装及意义
iOS9.0 之后,NSURLConnection 被苹果抛弃,该来的即便是迟些,但最终肯定会来。对于迷恋 NSURLConnection 还要适配 iOS 低版本的公司,就不得不三思了,当然,使用 NSURLSession 也是不错的,但面对成熟的 ASI 和 AFN,我们更有理由选择。
iOS 视频边下边播 — 缓存播放数据流
实现下载视频数据并实时给播放器填充数据
玩转iOS开发:装逼技术RunTime的应用(二)
上一章我们耍了一些RunTime的应用, 但并没有完全讲完, 现在继续接着说, 如果没有看到上一篇文章的朋友可以去玩转iOS开发:装逼技术RunTime的应用(一)看看. 在此之前, 我们了解到了一个类里面对应有的是isa指针, 但实际上这个isa指针是一个Class的结构体,…
iOS 组件化思路
关于组件化开发,经历过几家不同公司,正好处于不同的开发阶段。 第一家港股上市公司,移动端业务线很多,主要是即时通讯功能,类似与微博的社区功能,企业ERP功能,视频教育功能,开始各条业务线独立,相互调用只能通过彼此提供静态库或者framework进行,每次升级都需要重新集成,比较…
WKWebView 使用及自适应高度
介绍了 WKWebView 的使用及作为 tableViewCell 的高度自适应问题
NSRunLoop 总结
NSRunLoop对象是OC对象,是对CFRunLoopRef的封装,可以通过getCFRunLoop方法获取其对应的CFRunLoopRef对象。注意,NSRunLoop不是线程安全的,但CFRunLoopRef是线程安全的。 NSRunLoop对象是一系列RunLoopMo…
iOS 11中APP中tableView内容下移20pt或下移64pt的问题适配的一个总结
导语:本文主要是对iOS 11下APP中tableView内容下移20pt或下移64pt的问题适配的一个总结。内容包括五个部分:问题的原因分析、adjustContentInset属性的计算方式、什么情况下的tableView会发生内容下移、有哪些解决方法、解决这个问题时遇到的…
从RunLoop源码探索NSTimer的实现原理
RunLoop层在timer触发后进行回调的时候,不会对tolerance进行验证。也就是说,因为RunLoop忙导致的timer触发时刻超出了tolerance的情况下,timer并不会取消,而不执行回调。
2017 iOS 最近手机号正则表达式(OC/Swift)
OC版: //判断手机号 – (BOOL)checkoutPhoneNum: (NSString )phoneNum { NSString regexStr = @”^1[3,8]\d{9}|14[5,7,9]\d{8}|151\d{8}|172\…
深入理解Http请求、DNS劫持与解析。
背景 前段时间在处理iOS端的HTTPDNS相关SDK,在接入和测试环节发现大家对HTTP的整体请求流程包括HTTP劫持原理以及HTTPDNS的工作原理并不是太清楚,所以写下这边文章帮助大家深入web请求过程:如何发起请求,HTTP协议解析,DNS域名解析。 HTTP发起一个请求…
iOS – 揭露Block的内部实现原理
揭露Block的内部实现原理
玩转iOS开发:iOS中的Socket编程(三)
文章分享至我的个人技术博客: https://cainrun.github.io/149… 前言 前面第一讲, 讲的是Socket的基础知识, 如果没有去看的可以去了解一下玩转iOS开发:iOS中的Socket编程(一). 第二讲算是给第一讲补全了,…