![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IOS学习进阶
文章平均质量分 81
iOS学堂
转到简书, 给策 。iOS程序员一枚,正在不断的学习进取中,希望结交各位志同道合的朋友,一起学习,共同进步,共创事业 !
展开
-
iOS开发-常用第三方开源框架介绍
图像:1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。可对图片进行缩放等操作。 下载:https://github.com/mwaterfall/MWPhotoBrowser目前比较活跃的社区仍旧是Github转载 2016-01-25 17:11:54 · 701 阅读 · 0 评论 -
iOS架构师之路:慎用继承
最近在看大神Casa的文章《跳出面向对象思想(一) 继承》,脑洞大开。文章给我们展示了一个随着产品需求不断变化的例子,该例子中通过继承实现不同页面的搜索视图和搜索逻辑的代码复用,随着产品需求的演变,最后导致继承的搜索功能层级越来越深,相互依赖越来越严重,最后导致拔出萝卜带出泥,又随着个性化需求的发展,最后代码变得越来越混乱。相信有经验的开发人员都经历过这方面的痛苦。继承对代码复用来说非常好用,但同原创 2017-03-13 18:19:44 · 1564 阅读 · 0 评论 -
iOS Copy与MutableCopy 和 Copy与Strong 深度解析
开发中,数据处理是整个项目的重中之重,清晰的数据结构,安全高效的处理流程,能大大提高开发效率和系统的稳定性。数据是事物状态和变化的记录,具有可修改性和拷贝性,当多处使用,并有可能改变时,为了保障原数据的不变,我们需要拷贝一份新的数据,改变新的数据,而不改变原数据。数据处理中的,操作权限控制,数据的传递,数据的深、浅拷贝等。今天主要深度分析下,Copy与MutableCopy 和 Copy与Strong 区别及使用。原创 2017-05-17 19:40:25 · 2766 阅读 · 0 评论 -
同时点击手势深度优化处理 setExclusiveTouch
前言iOS 中对手势响应事件的定义很丰富(参考iOS七种手势),最常用的是点击手势,若不做一些配置处理,你可能会遇到很尴尬的问题,如一个页面两个弹窗重叠,一个页面被Push了多次等。让我们一起探讨下,怎么避开这些坑。注意:我在下文描述时,用的是点击手势和响应区域,其实,UIView的子类都可以添加点击手势和响应事件,与点击UIbutton并响应事件本质上是相同的。先抛出一些小结论:原创 2017-07-03 11:17:52 · 3259 阅读 · 0 评论 -
iOS开发知识-常用小技巧大杂烩
开发过程中遇到的一些问题,网上查阅整理的一些问题,供大家参考,方便大家查阅1. 打印View所有子视图po [[self view]recursiveDescription]2. layoutSubviews调用的调用时机* 当视图第一次显示的时候会被调用* 当这个视图显示到屏幕上了,点击按钮* 添加子视图也会调用这个方法* 当本视图的大小发生改变的原创 2017-06-14 10:11:13 · 892 阅读 · 0 评论 -
UIWindow的windowLevel属性
UIwindow的 windowLevel 和 将自定义视图 覆盖到键盘视图以上。原创 2017-07-05 23:01:57 · 2987 阅读 · 0 评论 -
iOS七种手势
iOS中手势的种类很丰富,同时各类手势之间是互斥的,同类手势之间是可以并存,并分别执行的。我们以给一个UIImageView实例添加手势为例,简要的介绍下。原创 2017-06-15 17:36:22 · 619 阅读 · 0 评论 -
技术类博客网站推荐
作为一个高素质的程序员,要严格要求自己,要有终身学习,时刻学习的良好习惯。原创 2017-07-28 23:48:33 · 3229 阅读 · 0 评论 -
深入理解RunLoop
RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。目录RunLoop 的概念RunLoop 与线程的关系RunLoop 对原创 2017-09-14 10:20:48 · 396 阅读 · 0 评论 -
iOS 同一个工程下 使用多target来构建大量相似App
本人今年主要在负责猿题库iOS客户端的开发,本文旨在通过分享猿题库ios客户端开发过程中的技术细节,达到总结和交流的目的。这是本技术分享系列文章的第一篇。本文涉及的技术细节是:采用多Target编译方案来实现多个相似App的开发,以保证我们能够快速地推出多个相似课程的客户端。问题描述今年春节后,我们对外发布了应用“猿题库-公务员考试行测”,接着我们就开始一个个发布猿题库系列转载 2017-09-06 18:16:09 · 1050 阅读 · 0 评论 -
iOS开发底层知识——Runtime详解
首先,让我们先对runtime的底层概念梳理下,若想看怎么用可以翻到底部!简介Runtime 又叫运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我们平时编写的 OC 代码,底层都是基于它来实现的。比如:[receiver message];// 底层运行时会被编译器转化为:objc_msgSend(receiver, selector)原创 2017-03-13 15:03:06 · 2819 阅读 · 0 评论 -
iOS framework开发流程总结
最近在做一个iOS的统计SDK,需要从零开始做一个framework,同时为了方便开发,花了点时间折腾,于是顺便总结一下iOS framework的开发流程,不同的Xcode版本流程会有些小区别,以下使用的是7.3.1。建立framework工程 建framework工程之前,要先了解frameworkframework和.a iOS一直只对用户开放静态库,直到iO原创 2017-01-25 10:02:21 · 1071 阅读 · 0 评论 -
iOS开发总结之代码规范
最近被安排项目测试优化, 总结一下发现这些问题或多或少都是由代码习惯和编程规范引起的, 可见一个好的编码习惯是多么的重要! 趁着这两天休假将自己所认为的一些比较好的代码规范整理一下, 并结合之前遇到的实际case跟大家分享一下.原创 2015-10-21 10:02:24 · 703 阅读 · 0 评论 -
iOS APP启动过程
从main文件开始说起程序启动分为两类:1.有storyboard 2.没有storyboard(一)有storyboard情况下:1.main函数2.UIApplicationMain创建UIApplication对象创建UIApplication的delegate对象3.根据Info.plist获得最主要storyboard的文件名,加载最主要的storyb原创 2016-01-26 21:24:31 · 1082 阅读 · 0 评论 -
一个资深iOS开发者对于React Native的看法
当我第一次尝试ReactNative的时候,我觉得这只是网页开发者涉足原生移动应用领域的歪门邪道。我认为一个js开发者可以使用javascript来构建iPhone应用确实是一件很酷的事情,但是我很快放弃了自己去使用它的念头。毕竟我因为爱好而从事ios原生开发多年,并且目前为止已经很熟悉这一套开发专业工具。我已经创造了一些我引以为傲的iOS应用——一些使用Object-C和Xcod转载 2016-02-05 11:56:32 · 5189 阅读 · 2 评论 -
用InterfaceBuilder构造一个App 、 视图控制器和视图 、 控件与事件
StoryBoard iOS5之后Apple提供了一种全新的方式来制作UI,那就是StoryBoard。简单理解来说,可以把StoryBoard看做是一组viewController对应的xib,以及它们之间的转换方式的集合。在StoryBoard中不仅可以看到每个ViewController的布局样式,也可以明确地知道各个ViewController之间的转换关系。相对于单个的xib,其代码需求更少,也由于集合了各个xib,使得对于界面的理解和修改的速度也得到了更大提升。减少代码量就是减少bug量,这也是原创 2016-01-12 16:06:57 · 634 阅读 · 0 评论 -
svn建立分支和svn代码合并的操作方法
svn建立分支和svn代码合并的操作方法首先说下为什么我们需要用到分支-合并。比如项目demo下有两个小组,svn下有一个trunk版。由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作【某个模块】,小组2进行新需求的开发。那么此时,我们就可以为小组2建立一个分支,分支其实就是trunk版【主干线】的一个copy版,不过分支也转载 2016-01-12 16:35:52 · 856 阅读 · 0 评论 -
修改Xcode新建类的注释模板(作者,公司名等)
有时,项目需要修改作者,公司名等,或者原先写的有误,需要更正的请向下看。原创 2016-02-01 18:41:42 · 8501 阅读 · 0 评论 -
我的iOS高效编程秘诀—坚持编程习惯
习惯会影响一个人做事的方式,也会直接影响效率。我经常在项目完成后自我总结,有哪些做得好的,有哪些做得不好的?然后把一些好的流程记录下来,并且重新运用回编程中。那些能够坚持去做的流程,就变成了我的编程习惯,这些良好的习惯就成就了我高效的编程效率!一、轻文档先行什么叫轻文档?其实轻文档指的是不需要按照标准的软件工程知识来编写需求分析,架构设计,模块设计,流程图时序图等文档,而是采用比较自由原创 2016-02-02 17:31:28 · 314 阅读 · 0 评论 -
iOS 应用架构谈 本地持久化方案
前言嗯,你们要的大招。跟着这篇文章一起也发布了CTPersistance和CTJSBridge这两个库,希望大家在实际使用的时候如果遇到问题,就给我提issue或者PR或者评论区。每一个issue和PR以及评论我都会回复的。持久化方案不管是服务端还是客户端,都是一个非常值得讨论的话题。尤其是在服务端,持久化方案的优劣往往都会在一定程度上影响到产品的性能。然而在客户端,只有为数不多的转载 2016-02-03 09:13:56 · 590 阅读 · 0 评论 -
iOS9 3D Touch 标签菜单 peek and pop force 压力触控 功能开发高级版教程
3D Touch 是6s、6ps ,iOS9 新出的一项用户界面交互技术。给用户带来的额外维度上的交互,这个设计之所以叫做3D Touch,其原理上是增加了一个压力的感触,通过区分轻按和重按来进行不同的用户交互。技术的本身并不是难点,而是怎样优雅地把这些技术平滑的融入到我们的app,我们的工作,我们的生活,才是学习的之本,学习之道。原创 2016-01-27 15:12:35 · 4214 阅读 · 0 评论 -
Mac下的SVN客户端工具Cornerstone使用教程
使用命令当然是一个非常好的选择,但是对我们人类来说还是喜欢图形化界面的操作的。因此本文将介绍我喜欢的一款SVN客户端工具的使用。 想要安装的Cornerstone的朋友,我有个坏消息是,如果你想使用它的正版软件,你是需要花费几十美金的,当然这里我带给您的永远都是有价值的好的信息,那就是在我们天朝使用软件还花钱真的是极品,我就奉献一下我在网上找到的一个比较好的破解版:http://p原创 2016-07-26 16:40:26 · 14640 阅读 · 1 评论 -
iOS 获得屏幕正在显示的Controller(自定义的控制器)的实用方法
项目有点紧张,好久没有写点东西了。后面我会抽更多时间学习和分享学习的一些总结,分享给各位,请持续关注。具体场景我都不说了。直接上代码- (void)needShowLogin{ YPJGLoginViewController * login = [[YPJGLoginViewController alloc] init]; login.hidesBottomBar原创 2016-11-16 15:15:46 · 8212 阅读 · 0 评论 -
UIScrollview在 iOS 11和iPhone X上偏移的两套完美适配方案
iPhone X已经来了,您的APP完全适配了iOS 11和iPhone X了吗?昨天看到QQ的上下宽黑边,王者荣耀的左右大宽黑边和底部黑边,肾疼,iPhone X要白买了。因iOS11废弃了automaticallyAdjustsScrollViewInsets属性,几乎所有的APP用xcode9在iOS11上运行,都会存在偏移或漂移问题。别担心,老司机已经帮你整理好两种适配方案,解决iOS 7到iOS11 在各类iPhone 和iPad上的偏移问题,发车了原创 2017-11-04 17:38:10 · 3648 阅读 · 0 评论