06 2016 档案
摘要:前言 很多开发者看到这个标题表示很怪异,Android怎么可能搭建服务器呢?根本用不到呀,这个项目毫无价值。我表示很理解这一类的开发者,毕竟每个人的经验经历都是有限的。 必须要说说我们的用处(需要用这个功能的人自然不用解释),比如在TV开发中,现在我们有一个电视盒子,上面跑着我们的一个apk,假如我
阅读全文
摘要:水果公司的那些small and cute的设备给我们提供了前所未有的用户体验。当用户在iphone和ipad上运指如飞的时候,那些使用objective-c写出优秀应用的开发人员们心里一定充满了成就感,因为正是他们(而不是水果)让iOS的世界变的丰富多彩。然而对于我们这些以web为自己事业核心的程
阅读全文
摘要:在这次 GMTC 大会上,我见到了 JSPatch 的作者 bang。在这之前我就和他在网上认识并聊过很多次,bang 也在这个公众号上投稿发表了多篇关于 JSPatch 的文章,包括:JSPatch – 动态更新iOS APP,JSPatch 实现原理详解,JSPatch 实现原理详解 (二),。
阅读全文
摘要:这是该系列的第二篇。在本文中,我想讨论的是:对于 UI 界面的编写工作,到底应该用 xib/storyboard 完成,还是用手写代码来完成? 本着 “使用过才有发言权” 原则,我介绍一下我的经历: 最早在网易开发 “ 有道云笔记 “ 的时候,我们是使用 xib 来制作界面的。 三前年创业编写 “
阅读全文
摘要:这是该系列的第一篇,我想讨论的是:类的成员变量应该如何定义? 在 Objective-C 的语言的早期,类的私有成员变量是只能定义在 .h 的头文件里面的。像如下这样: @interface ViewController : UIViewController { @private NSInteger
阅读全文
摘要:看到这篇文章的同学可幸福了,当时在做RSA加密与签名的时候网上的资料简直不要太老,做完后实在是忍受不下去了,这篇文章我会详细讲解iOS如何实现RSA加密与签名,并且与Java完全同步,这是我的第二篇博客,若有什么不足之处还请大家指教。 基础知识 什么是RSA? 答:RSA是一种非对称加密算法,常用来
阅读全文
摘要:iOS APP编译后,除了一些资源文件,剩下的就是一个可执行文件,有时候项目大了,引入的库多了,可执行文件很大,想知道这个可执行文件的构成是怎样,里面的内容都是些什么,哪些库占用空间较高,可以用以下方法勘察: 1.XCode开启编译选项Write Link Map File XCode -> Pro
阅读全文
摘要:图片分为静态和动态两种,图片的格式有很多种,在开发中比较常见的是.png和.jpg的静态图片,但有的时候在App中需要播放动态图片,比如.gif格式的小表情头像,在IOS中并没有提供直接显示动态图片的控件,下面就介绍几种显示动态图片的方式。 <一> UIImageView用来显示图片, 使用UIIm
阅读全文
摘要://默认初始化方法 class Teacher { var name:String = "xiaoming"; } class Human { var name :String?; } class Personal { var name :String! } let teacher = Teacher(); print(teacher...
阅读全文
摘要:所谓归档:将复杂对象转化为NSData类型数据(复杂-->归档-->NSData >WriteToFile) 注意:归档是将对象转化为数据字节,以文件的形式存储在磁盘上,所谓反归档,将NSData类型数据转化为复杂对象(读取文件-->NSData-->反归档 >复杂对象) 再说归档之前,先说下iOS
阅读全文
摘要:一:Core Animation简介 Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。 Core Animation可以用在MacOS X和iOS平台。 Core
阅读全文
摘要:前提:电脑上已经安装好CocoaPods。 创建Podfile: 1.进入到项目的目录中: $ cd 目录 2.使用终端命令行: $ vim Podfile 3.然后按i键,进入编辑模式 我现在使用的CocoaPods是1.0.0版本, Podfile的文件格式要使用下面的格式: platform
阅读全文
摘要:Apple公司在WWDC 2016前后带来了10个重大更新,其中重中之重可谓是iOS 10的更新了。iOS 10被称作iOS 7之后迎来的最大升级,在所有的革新中,无论在通知中心的UI修改,还是各处的3D Touch弹出层,都能看到卡片式设计的影子。笔者不是设计师,但是以一个iOS开发者的角度来看,
阅读全文
摘要:前言 这是一篇我记录对alloc、init分析思考的笔记。如果读者想看懂我的第二个思考,可能需要您至少了解内存的分段分页管理,如果您对其一点都不知道,可以先看这篇软文简单了解一下。另外很重要的一点是,请先思考。 思考1.对象为什么要alloc,init又是干嘛的? 很多人都知道,初始化一个对象应该这
阅读全文
摘要:本文为 WWDC 2016 Session 419 的部分内容笔记。强烈推荐观看。 设计师来需求了 在我们的 App 中,通常需要自定义一些视图。例如下图: 我们可能会在很多地方用到右边为内容,左边有个装饰视图的样式,为了代码的通用性,我们在 UITableViewCell 的基础上,封装了一层 D
阅读全文
摘要:我是前言: 大约几个月前我在某平台写了一篇文章, 文中简单地介绍了Charts两种图表的样式的使用, 不过有种意犹未尽的感觉, 利用周末的空闲时间再次看了看, 有了新的收获, 今天发出来,分享给大家, 来稍加详细的再次走进Charts的世界. 完全纯代码. 经过测试: 1.1使用cocoa pods
阅读全文
摘要:译者前言 总是看到有人说用汇编实现objc_msgSend是为了速度快,当然这个不可否认。但是难道没有别的原因?于是就看到了这篇文章,遂翻译之!=。= 我自己的理解就是,用汇编实现,是为了应对不同的“Calling convention”,把函数调用前的栈和寄存器的参数、状态设置,交给编译器去处理。
阅读全文
摘要:关注仓库,及时获得更新:iOS-Source-Code-Analyze https://github.com/draveness/iOS-Source-Code-Analyze Follow: Draveness · Github 这篇文章会对 IQKeyboardManager 自动解决键盘遮挡问
阅读全文
摘要:本系列博文总结自《Pro Multithreading and Memory Management for iOS and OS X with ARC》 在上一篇文章中,我们讲了很多关于 block 和基础变量的内存管理,接着我们聊聊 block 和对象的内存管理,如 block 经常会碰到的循环引
阅读全文
摘要:一、什么是RunLoop? RunLoop是运行循环,每个Cocoa应用程序都由一个处于阻塞状态的do/while循环驱动,当有事件发生时,就把事件分派给合适的监听器,如此反复直到循环停止。处理分派的对象就叫做“运行循环”。 基本作用:1、保持程序的持续运行 2、处理App中的各种事件(比如触摸事件
阅读全文
摘要:1 iOS多图片下载、在cell里面下载图片、做了缓存优化。 2 3 (app.icon是图片地址) 4 5 // 先从内存缓存中取出图片 6 UIImage *image = self.images[app.icon]; 7 if (image) { // 内存中有图片 8 cell.imageView.image = image; 9 ...
阅读全文
摘要:项目中要用到支付功能,需要支付宝,微信,银联三大支付,所以打算总结一下,写两篇文章,方便以后的查阅, 大家在做的时候也能稍微参考下,用到的地方避免再次被坑。这是第二篇支付宝集成,第一篇银联支付在这里。本来要用那个ping++的神器,可以集成各种支付手段,异常的方便,但是考虑到安全性问题的话,支付的渠
阅读全文
摘要:本系列博文总结自《Pro Multithreading and Memory Management for iOS and OS X with ARC》 了解了 block的实现,我们接着来聊聊 block 和变量的内存管理。本文将介绍可写变量、block的内存段、__block变量的内存段等内容,
阅读全文
摘要:首先需要理清楚流程: 1、用户使用APP客户端,选择商品下单。 2、商户客户端(就是你做的APP)将用户的商品数据传给商户服务器,请求生成支付订单。 3、商户后台调用统一下单API向微信的服务器发送请求,微信服务器生成预付单,并生成一个prepay_id返回给商户后台。 4、商户后台将这个prepa
阅读全文
摘要:本系列博文总结自《Pro Multithreading and Memory Management for iOS and OS X with ARC》 block 顾名思义就是代码块,将同一逻辑的代码放在一个块,使代码更简洁紧凑,易于阅读,而且它比函数使用更方便,代码更美观,因而广受开发者欢迎。但
阅读全文
摘要:UIMenuController的介绍 什么是UIMenuController? UIMenuController是UIKit里面的控件 UIMenuController的作用在开发中弹出的菜单栏 后面介绍了菜单栏显示中文的设置 什么是UIMenuController? UIMenuControll
阅读全文
摘要:旅行喵,是一款帮助用户快乐旅行的APP。 第一版的首打功能是行程定制,和景点信息介绍。大家可以在上面做非常简单的偏好选择,通过我们的智能算法生成适合自己的旅行路线。 为什么要用RN呢? 首先,相对于其它可以方便热更新的开发方式,RN在性能、可扩展性、代码维护上,有一定的优势。 其次,在人力资源利用上
阅读全文
摘要:要想做IM聊天app,就不得不理解WebSocket和Socket的原理了,听我一一道来。 1WebSocket的使用场景 1.社交聊天 最著名的就是微信,QQ,这一类社交聊天的app。这一类聊天app的特点是低延迟,高即时。即时是这里面要求最高的,如果有一个紧急的事情,通过IM软件通知你,假设网络
阅读全文
摘要:关于HotfixPatch 在IOS开发领域,由于Apple严格的审核标准和低效率,IOS应用的发版速度极慢,稍微大型的app发版基本上都在一个月以上,所以代码热更新(HotfixPatch)对于IOS应用来说就显得尤其重要。 现在业内基本上都在使用WaxPatch方案,由于Wax框架已经停止维护四
阅读全文
摘要:前言 对于商务类的app,随着app注册使用人数递增,app的运营者们就会逐渐考虑在应用中开展一些推广活动。大多数活动具备时效性强、运营时间短的特征,一般产品们和运营者们都是通过wap页面快速投放到产品的活动模块。Wap页面可以声文并茂地介绍活动,但活动的最终目标是通过获取特权、跳转进入本地功能模块
阅读全文
摘要:推荐序 本文介绍了 iOS 10 中的 Call Directory Extension 特性,并且最终 Demo 出一个来电黑名单的 App。 作者:余龙泽,哈工大软件工程大四学生,之前在美图公司实习,在iOS学习道路上不断努力中。 感谢作者授权,以下是正文。 iOS 10 中引入了许多令人振奋的
阅读全文
摘要:一、前言 随着开发者的增多和时间的累积,AppStore已经有非常多的应用了,每年都有很多新的APP产生。但是我们手机上留存的应用有限,所以如何吸引用户,成为产品设计的一项重要内容。其中炫酷的动画效果是重要内容之一,我们会发现很多好的应用上面都有许多很炫的效果。可能一提到炫酷的动画,很多人都很头疼,
阅读全文
摘要:前言: 本篇文章不是分享collectionView的详细使用教程, 而是属于比较’高级’的collectionView使用技巧, 阅读之前, 我想你已经很熟悉collectionView的基本使用, 如果不是很熟悉, 建议在以后熟悉一下. 那么在本篇结束后, 你也能够很轻松的使用collectio
阅读全文
摘要:动图 技术原理: 当你下拉scrollview的时候,会监听scrollview的contentOffset来调整头部背景图片的位置,通过CGAffineTransformMakeTranslation和CGAffineTransformScale实现头像的缩小。 具体代码实现: Demo分享:
阅读全文
摘要:在上文,我们介绍了iOS开发中的其中2种数据持久化方式:属性列表、归档解档。 本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3、Core Data 的运用; 在本节,将通过对4个文本框内容的创建、修改,退出后台,再重新回到后台,来认识这两种持久化数据的方式。效果图如下【图1】:
阅读全文
摘要:一个成熟的计算机语言必然有丰富的体系,复杂的容错机制,处理逻辑以及判断逻辑。但这些复杂的逻辑都是围绕一个主线丰富和展开的,所以在学习计算机语言的时候,先掌握核心,然后了解其原理,明白程序语言设计的实质和当时选择这种处理方式的原因是极其必要的,而且也是学习语言的捷径。 所以在学习的过程中,需要把握几个
阅读全文
摘要:iOS中的永久存储,也就是在关机重新启动设备,或者关闭应用时,不会丢失数据。在实际开发应用时,往往需要持久存储数据的,这样用户才能在对应用进行操作后,再次启动能看到自己更改的结果与痕迹。 iOS开发中,我们需要数据持久化这一种技术,也需要不断在实际开发的工作与学习中完善数据持久化这一开发技术。 【本
阅读全文
摘要:因为动态化的东西我第一次看实现方案的源码,而且目前还是大三的学生,缺少很多实践经验说错的地方还请原谅,也希望能指出,被告知。想了很久还是决定写出来,求大神勿喷。 并且我的一个朋友bestswifter写了一篇关于ReactNative源码分析的一品文章,React Native 从入门到原理,感兴趣
阅读全文
摘要:POP: 一个流行的可扩展的动画引擎iOS,它支持spring和衰变动态动画,使其可用于构建现实,基于物理交互。Objective - C API允许快速集成, 对于所有的动画和过渡他是成熟的. 解释: 1.1 POP 使用 Objective-C++ 编写,Objective-C++ 是对 C++
阅读全文
摘要:扯淡:到了新公司接手新框架之后,发现大量的使用Blocks,之前很多时候都是使用代理,突然面对这个陌生的语法,特地科普总结了一番。 扯淡:到了新公司接手新框架之后,发现大量的使用Blocks,之前很多时候都是使用代理,突然面对这个陌生的语法,特地科普总结了一番。 什么是Blocks 一句话概括就是,
阅读全文
摘要:入职有两三个月了吧,都是使用 Objective-C 纯代码(虽然有时候偷偷参杂一些 Swift 开源库)来编写公司APP,写布局的时候几乎都是要么在初始化的时候用 initWithFrame,要么就初始化完毕之后用 view.frame。虽然这种方法很直观,一眼就可以看出这个 view 的位置以及
阅读全文
摘要:创建基于时间和基于位置的提醒事件,导入框架Event Kit与Core Location。
阅读全文
摘要:前言 断断续续的已经学习Swift一年多了, 从1.2到现在的2.2, 一直在语法之间徘徊, 学一段时间, 工作一忙, 再捡起来隔段时间又忘了.思来想去, 趁着这两个月加班不是特别多, 就决定用swift仿写一个完整项目. 花田小憩:是一个植物美学生活平台, 以自然生活为主导, 提倡植物学生活方法,
阅读全文
摘要:1、最终效果 仿淘宝动画 2、核心代码 _cartAnimView=[[UIImageView alloc] initWithFrame:CGRectMake(_propView.frame.size.height*0.025,_propView.frame.size.height* -0.025
阅读全文
摘要:VTMagic 有很多开发者曾尝试模仿写出类似网易、腾讯等应用的菜单分页组件,但遍观其设计,大多都比较粗糙,不利于后续维护和扩展。琢磨良久,最终决定开源这个耗时近两年打磨而成的框架,以便大家可以快速实现类似需求,而不用把大量的精力浪费在重复造轮子的过程中,VTMagic目前在多个项目中稳定运行一年多
阅读全文
摘要:React Native 是最近非常火的一个话题,介绍如何利用 React Native 进行开发的文章和书籍多如牛毛,但面向入门水平并介绍它工作原理的文章却寥寥无几。 本文分为两个部分:上半部分用通俗的语言解释了相关的名词,重点介绍 React Native 出现的背景和试图解决的问题。适合新手对
阅读全文
摘要:#import #import #import @interface ViewController : UIViewController @property (strong, nonatomic) EKEventStore *eventStore; @property (weak, nonatomic) IBOutlet UITableView *eventsTableView; @p...
阅读全文
摘要:1 -(BOOL)textFieldShouldReturn:(UITextField *)textField 2 { 3 [textField resignFirstResponder]; 4 return NO; 5 } 6 7 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event ...
阅读全文
摘要:一、懒加载 1.懒加载定义 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化 2.使用懒加载的好处: (1)不必将创建对象的代码全部写在viewDidLoad方法中
阅读全文
摘要:ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集成ijkplayer, 即便以前从没有接触过, 按着下面做也可以集成成功! ijkplayer下载地址:ht
阅读全文
摘要:原文地址:http://www.cnblogs.com/runner42/p/5241407.html sdk下载地址:https://github.com/runner365/LiveVideoCoreSDK 本文介绍一个:IOS 客户端直播的SDK,代码完全开源。 直播时代:让IOS普通开发者一
阅读全文
摘要:现在非常流行直播,相信很多人都跟我一样十分好奇这个技术是如何实现的,正好最近在做一个ffmpeg的项目,发现这个工具很容易就可以做直播,下面来给大家分享下技术要点: 首先你得编译出ffmpeg运行所需的静态库,这个百度一下有很多内容,这里我就不多说了,建议可以用Github上的一个开源脚本来编译,简
阅读全文
摘要:1、从初始UIImage获取一个CIImage对象。 2、创建一个用于分析对象的CIContext。 3、通过type和options参数创建一个CIDetector实例。 type参数指定了要识别的特征类型。options参数可以设置识别特征的精确度,低精确度速度快,高精确度更准确。 4、创建一个
阅读全文
摘要:一、滤镜的内容和效果是比较多并且复杂的 ,学习滤镜需要技巧 如下: 两个输出语句解决滤镜的属性选择问题: 1.查询效果分类中包含什么效果按住command 点击CIFilter 进入接口文件 找到第128行-148行全部都是 效果分类 2.选择其中某一个分类拷贝NSLog -> [CIFilter
阅读全文
摘要:实例化讲解RunLoop 之前看过很多有关RunLoop的文章,其中要么是主要介绍RunLoop的基本概念,要么是主要讲解RunLoop的底层原理,很少用真正的实例来讲解RunLoop的,这其中有大部分原因是由于大家在项目中很少能用到RunLoop吧。基于这种原因,本文中将用很少的篇幅来对基础内容做
阅读全文
摘要:埋点是现在很多App中都需要用到的,这个问题可能每个人都能处理,但是怎样来减少埋点所带来的侵入性,怎样用更加简洁的方式来处理埋点问题,怎样减少误埋,如果上线了发现少埋了怎么办?下面是本文讨论的重点: 一、什么是埋点?埋点的作用是什么? 二、常规的处理方式是怎样的? 三、我们可以怎样优化? 四、怎样使
阅读全文
摘要:了解完流程之后,就可以开始继续研究源码了。在PromiseKit当中,最常用的当属then,thenInBackground,catch,finally - (PMKPromise *(^)(id))then { return ^(id block){ return self.thenOn(disp
阅读全文
摘要:前言 最近看了一些Swift关于封装异步操作过程的文章,比如RxSwift,RAC等等,因为回调地狱我自己也写过,很有感触,于是就翻出了Promise来研究学习一下。现将自己的一些收获分享一下,有错误欢迎大家多多指教。 目录 1.PromiseKit简介 2.PromiseKit安装和使用 3.Pr
阅读全文
摘要:本文分析YYMemoryCache实现原理: YYMemoryCache是内存缓存,所以存取速度非常快,主要用到两种数据结构的LRU淘汰算法 1.LRU Cache的容量是有限的,当Cache的空间都被占满后,如果再次发生缓存失效,就必须选择一个缓存块来替换掉.LRU法是依据各块使用的情况, 总是选
阅读全文
摘要:iOS 开发中总会用到各种缓存,YYCache或许是你最好的选择。性能上有优势,用法也很简单。作者ibireme曾经对比过同类轮子:http://blog.ibireme.com/2015/10/26/yycache/ 1.简单架构图 2.YYCache.h方法分析 @interface YYCac
阅读全文
摘要:-(void)configureDetailsWithImage:(UIImage *)image label:(NSString *)label showsButtons:(BOOL)showsButton { self.imageView.image = image; self.detailDescriptionLabel.text = label; if (show...
阅读全文
摘要:实现UIImagePickerController委托方法: 实现clearImage:方法,实现视图重设。
阅读全文
摘要:新的iOS 9系统比iOS8更稳定,功能更全面,而且还更加开放。iOS 9加入了更多的新功能,包括更加智能的Siri,新加入的省电模式。iOS 9为开发者提供5000个全新的API。 1. 限制HTTP协议,全部改用更安全的HTTPS iOS9让所有的HTTP默认使用了HTTPS,原来的HTTP协议
阅读全文
摘要:1.回顾UIPopoverController的使用,下面这份代码只能在ipad下运行 2. 运用UIPopoverPresentationController,下面这份代码在iphone和ipad中,都可以正常运行 2.1 在iphone中是常见的modal方式,也就是从屏幕底部爬上来,而在ipa
阅读全文
摘要:UIViewContentMode typedef enum { UIViewContentModeScaleToFill, UIViewContentModeScaleAspectFit, // contents scaled to fit with fixed aspect. remainder
阅读全文
摘要:你可能非常了解用不同的方式去适配不同尺寸的iPhone屏幕,在适配iPhone屏幕时你需要考虑的只是屏幕大小变化带来的UI元素间隔的变化,但是在iPad上主要针对的是横竖屏下完全不同的UI元素的布局,在这种情况下要考虑的就不仅仅是元素之间间隔这种问题了,除了要确保UI元素在这两种模式下的正确显示还要
阅读全文
摘要:网上已经有很多针对各种知识点的面试题,面试时有些人未必真正理解也能通过背题看上去很懂。我自己总结了4道面试题,好快速的判断这个人是否是一个合格的工程师,欢迎大家点评。 1.struct和class的区别 在面试之前你觉得所有的计算机专业的学生都应该能答的上来,事实是我面的人里有超过三分一没有答上来。
阅读全文
摘要:卓同学昨天写了一篇文章《4道过滤菜鸟的iOS面试题》。我手痒决定默写一个参考答案。后来发现不认真回答被大家喷成狗,所以决定积极改造,重新做人。下面就是修编之后的答案。 1. struct和class的区别 swift中,class是引用类型,struct是值类型。值类型在传递和赋值时将进行复制,而引
阅读全文
摘要:socket(套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。 多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同
阅读全文
摘要:现在基本上每个应用的头部,都会是一个无限滚动显示图片的scrollview,然后点击图片可以跳转到不同的页面。今天我们来学习下如何封装一个这样的控件。 需求 三个imageview控件实现多张image的无限滚动 点击图片,可以拿到图片的信息给调用者使用 三个imageview控件实现多张image
阅读全文
摘要:侧边菜单栏 查看Github上相关实现,一开始选择的是SlideMenuControllerSwift,后来决定更改为自定义,使用更简洁的方式。 分离 分离之前的SliderMeanController,再添加动画。 1.MainViewControllerremove: extension Mai
阅读全文
摘要:前言 : 在写这篇文章之前, 先祝贺自己, 属于我的GitHub终于来了. 这也是我的GitHub的第一份代码, 以下文章的代码均可以在Demo clone或下载. 欢迎大家给予意见. 觉得写得不错的也请不要吝惜你们的star. 瀑布流 先普及下什么叫瀑布流 瀑布流,又称瀑布流式布局。是比较流行的一
阅读全文
摘要:个月前,完成了个人App的2.0版本,也在普天同庆的六一儿童节这天上架了。因为是个人开发,很多实现都是边探索边做。现在完成之后再回顾,发现自己走了些弯路。所以写了这篇总结,概览了从想法、设计、开发到最终发布的过程。希望读者参考本文,可以少走一些弯路;另外,本文也给列出了开发中具体思路和资源列表。 知
阅读全文
摘要:引言 一直以来RunLoop就是个神秘的领域,好多2.3年的开发者都不能准确的表述它的作用,说它神秘,其实RunLoop并没有大家想象中的那么神秘,那么不好理解,本文就带大家好好剖析一下”神秘的RunLoop” 什么是RunLoop 从字面上看 运行循环 跑圈 运行循环 跑圈 循环 基本作用 保持程
阅读全文
摘要:CALayer简介: CALayer又称为层. 在每一个UIView内部都有一个Layer这样的属性. UIView之所以能够显示,就是因为它里面有这个一个层,才具有显示的功能. 我们通过操作CALayer对象,可以很方便的调整UIView的一些外观属性. 可以给UIView设置阴影,圆角,边框等等
阅读全文
摘要:Swift是苹果新推出的编程语言,也是苹果首个开源语言。相比于原来的Objective-C,Swift要更轻便和灵活。笔者最近使用Swift实践了大量的算法(绝大部分是硅谷各大公司的面试题),将心得体会总结于下。此文并不是纯粹讨论Swift如何实现某一个具体的算法或者数据结构,如冒泡排序、深度优先遍
阅读全文
摘要:大家好,我是帅气小伙,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲的是我父亲是如何用行动教会我成为程序员的。 岁月的锤炼 圆口接口的键盘,2003 年的 有人问这个键盘难道没有擦过吗?不是的,是擦不掉的岁月痕迹。如果有注意到细节的朋友会发现,程序员什么键位用得最多,(除了ASDW,YUH
阅读全文
摘要:需求 很多公司项目中都会使用到相册,以及相机,保存图片,从相册中选取图片等等操作。本文将详细介绍该功能如何实现优化,以及使用一些优秀的第三方库来辅助完成我们的需求。 photos framework 的使用 Photos Framework reference Classes PHAdjustmen
阅读全文
摘要:每年的WWDC开发者大会上苹果都会展示最新的软件研发成果,在新一代MacBook Pro和MacBook Air笔记本到来之前,我们不妨来期待下新版OS X会有怎样的变化。 Siri入驻Mac 此前曝光的Mac桌面Siri图标 如今Siri已经入驻iPhone,iPad,Apple Watch甚至是
阅读全文
摘要:Size Classes是什么 iOS 8在应用界面的可视化设计上添加了一个新的特性-Size Classes,对于任何设备来说,界面的宽度和高度都只分为两种描述:正常和紧凑。这样开发者便可以无视设备具体的尺寸,而是对这两类和它们的组合进行适配。这样不论在设计时还是代码上,我们都可以不再受限于具体的
阅读全文
摘要:写在正文前,本来这一节的内容应该放在第二节更合适,因为当时就有同学问ES6的兼容性如何,如何在浏览器兼容ES6的特性,这节前端君会介绍一个抱砖引玉的操作案例。 为什么ES6会有兼容性问题? 由于广大用户使用的浏览器版本在发布的时候也许早于ES6的定稿和发布,而到了今天,我们在编程中如果使用了ES6的
阅读全文
摘要:一、变量声明 为便于下文讨论,提前创建父类Biology以及子类Person: Biology: @interface Biology : NSObject { NSInteger *_hairCountInBiology; } @property (nonatomic, copy) NSStrin
阅读全文
摘要:效果图: DEMO 本代码即是DEMO,您可以下载后选择您喜欢的IDE运行。SDK版本建议使用4.0以上 Version Migration 从 v1.0, v1.1, v1.2, v1.3 升级到 v1.4 如果你开启了手势滑动,你需要替换被依附的 Activity 里 dispatchTouch
阅读全文
摘要:在开发过程中我们总会遇到各种各样的小问题,有些小问题并不是十分容易解决。在此我就总结一下,我在开发中遇到的各种小问题,以及我的解决方法。比较普遍的我就不再提了,这里主要讲一些你可能不知道的(当然,也有可能你都知道,大神就不必往下看了) 1、控件的局部圆角问题 你是不是也遇到过这样的问题,一个butt
阅读全文
摘要:前言 维基百科对单元测试的定义如下: 在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。 在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,
阅读全文
摘要:之前看到美团的订单详情页面很有特色,于是决定模仿一下这个效果。 其实就是简单的 TableView 技巧,下面我们就来一步一步实现它。 画个泡泡 首先到 Sketch 里画出气泡的效果 很简单,一个圆角矩形 + 一个三角形,然后 Union 操作一下,勾个边,done! 然后导出图片文件,添加到 X
阅读全文
摘要:本文会给大家详细介绍iOS内购,这是本人16年5月底的开发过程,希望对看完此篇文章的人有所帮助。 本文基于XcodeVersion 7.3 (7D175)版本,手机是iPhone 6,9.3系统。 部分地方直接摘自网络,基本上是我的逻辑,省时省心省力。 一. 创建测试App 首先你需要登录 App的
阅读全文
摘要:前言 看了这篇文章的标题,也许有些人还不知道Realm是什么,那么我先简单介绍一下这个新生的数据库。号称是用来替代SQLite 和 Core Data的。Realm有以下优点: 使用方便 Realm并不是基于SQLite的对象关系映射数据库。它是使用自己的持久化引擎,为简单和速度而生。用户们说,他们
阅读全文
摘要:需求 很多app(如淘宝、美团等)在启动图加载完毕后,还会显示几秒的广告,一般都有个跳过按钮可以跳过这个广告,有的app在点击广告页之后还会进入一个广告页面,点击返回进入首页。今天我们就来开发一个广告页面,效果如下。 思路 1.广告页加载思路。广告页的内容要实时显示,在无网络状态或者网速缓慢的情况下
阅读全文
摘要:写在前面 首先声明哈,不是广告,我就是用的时候觉得这个功能比较好玩,就想着实现了一下。效果如图: 接下来简单的说一下思路吧~ 大体思路 可能我们看到这种功能的实现的时候,首先想着的是我在这个控制器中左右各放一个tableView,然后进行关联。我是用了另一个思路,具体如下: 我建了两个类LGJCat
阅读全文
摘要:首先我们来看下效果 一开始当我们什么只设置了一张图片作为它的头部视图的时候,它是这样的 首当其冲的,我们先得把导航栏弄透明 那么我们首先得知道,设置navigationBar的BackgroundColor为Clear是没用的,你可以试着设置它的clear,但是没用,原因一会儿我们就知道了 而对于把
阅读全文
摘要:从知道ReactiveCocoa开始就发现对这个库有不同的声音,上次参加<T>技术沙龙时唐巧对在项目中已全面使用FRP的代码家提出为什么这种编程模型出现了这么长时间怎么像ReactiveCocoa这种完全按FRP编写的库没能够流行起来这个问题。对这个问题的回答一般都是门槛高,解决方法就是培训和通过熟
阅读全文
摘要:在最近做个一个自定义PageControl——KYAnimatedPageControl中,我实现了CALayer的形变动画以及CALayer的弹性动画,效果先过目: 先做个提纲: 正文。 如何让CALayer发生形变? 关键技术很简单:你需要用多条贝塞尔曲线 “拼” 出这个Layer。之所以这样做
阅读全文
摘要:对象初始化有两种方式:[class new] 与 [[class alloc] init] 对于后者,有分配和初始化的过程,alloc 从应用程序的虚拟地址空间上为该对象分配足够的内存,并且将新对象的引用计数加1、将对象的成员变量初始为零,init 会做真正的初使化工作,为对象的实例变量赋予合理有用
阅读全文
摘要:关于UIView的Layer,IOS提供了三个方法: 1、layoutSubviews 在iOS5.1和之前的版本,此方法的缺省实现不会做任何事情(实现为空),iOS5.1之后(iOS6开始)的版本,此方法的缺省实现是使用你设置在此view上面的constraints(Autolayout)去决定s
阅读全文
摘要:查看ios软件的ui布局有三种: 1.DCIntrospect 这种方式是开源的,我从github上clone下来后运行demo,运行遇到了问题:Xcode cannot run using the selected device,试了修改允许版本之类的方法一直没有。还是没有耐心研究,所以放弃了,有
阅读全文
摘要:从实践谈iOS生命周期 个人感觉生命周期无论在Android,还是iOS都是很重要的概念,因为在每个声明周期的状态下我们可以做很多预加载或者处理的操作。因此在这里主要总结下ViewController和AppDelegate中的一些状态。 应用程序的状态 看下这个图: Foreground :前台
阅读全文
摘要:《移动开发必读书单》 某一领域的技术人,在他的职业生涯中,一定有一些绕不过去的技术和非技术的知识。有的时候,靠自己摸索、到处偷师,倒也能掌握。但是,这些别人早就趟过去的坎,大多已经有了非常棒的书籍作为总结。看了这些书,脚下的路就要平一些。这个书单,就是为了找到移动领域的这些书。 《iOS开发经验总结
阅读全文
摘要:引言 “如果某个实体表现出以下任何一种特性,它就具备自主性:自我修复、自我保护、自我维护、对目标的自我控制、自我改进。” —— 凯文·凯利 iOS App 有时可能遇到启动必 crash 的绝境:每次打开 App 都闪退,无法正常使用App。 为了尝试解决这个问题,微信读书开发了 iOS 连续闪退保
阅读全文
摘要:Grand Central Dispatch,或者GCD,是一个极其强大的工具。它给你一些底层的组件,像队列和信号量,让你可以通过一些有趣的方式来获得有用的多线程效果。可惜的是,这个基于C的API是一个有点神秘,它不会明显的告诉你如何使用这个底层组件来实现更高层次的方法。在这篇文章中,我希望描述那些
阅读全文
摘要:网络图片显示大体步骤: 1、下载图片; 2、图片处理(裁剪,边框等); 3、写入磁盘; 4、从磁盘读取数据到内核缓冲区; 5、从内核缓冲区复制到用户空间(内存级别拷贝); 6、解压缩为位图(耗cpu较高); 7、如果位图数据不是字节对齐的,CoreAnimation会copy一份位图数据并进行字节对
阅读全文
摘要:使用CAShapeLayer与UIBezierPath可以实现不在view的drawRect方法中就画出一些想要的图形 步骤: 1、新建UIBezierPath对象bezierPath 2、新建CAShapeLayer对象caShapeLayer 3、将bezierPath的CGPath赋值给caS
阅读全文
摘要:在今天的文章中还剩下最后一类事件:远程控制,远程控制事件这里主要说的就是耳机线控操作。在前面的事件列表中,大家可以看到在iOS中和远程控制事件有关的只有一个- (void)remoteControlReceivedWithEvent:(UIEvent *)event NS_AVAILABLE_IOS
阅读全文
摘要:基础知识 三类事件中触摸事件在iOS中是最常用的事件,这里我们首先介绍触摸事件。 在下面的例子中定义一个KCImage,它继承于UIView,在KCImage中指定一个图片作为背景。定义一个视图控制器KCTouchEventViewController,并且在其中声明一个KCImage变量,添加到视
阅读全文
摘要:一、基本概念 进程:一个具有一定独立功能的程序关于某个数据集合的一次运行活动。可以理解成一个运行中的应用程序。线程:程序执行流的最小单元,线程是进程中的一个实体。同步:只能在当前线程按先后顺序依次执行,不开启新线程。异步:可以在当前线程开启多个新线程执行,可不按顺序执行。队列:装载线程任务的队形结构
阅读全文
摘要:前面我们主要介绍了触摸事件以及由触摸事件引出的手势识别,下面我们简单介绍一下运动事件。在iOS中和运动相关的有三个事件:开始运动、结束运动、取消运动。 监听运动事件对于UI控件有个前提就是监听对象必须是第一响应者(对于UIViewController视图控制器和UIAPPlication没有此要求)
阅读全文
摘要:获取当前设备 //获取当前设备 UIDevice *dev = [UIDevice currentDevice]; 设备和系统基本信息 NSLog(@"设备名称:%@", dev.name); NSLog(@"设备类型:%@", dev.model); NSLog(@"本地化模式:%@", dev.
阅读全文
摘要:对本文题目首先需要了解一下什么是异步编程,异步编程即多线程编程。 多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径。 在具体理解多线程之前先看一个都理解的例子: 在系统级别内,程序并排执行,程序分配到每个程序的执行时间是基于该程序的所需时间和其他程序的所需时间来决定的。 例子中的程序
阅读全文
摘要:#pragma mark - InterpolatedUIImage=因为生成的二维码是一个CIImage,我们直接转换成UIImage的话大小不好控制,所以使用下面方法返回需要大小的UIImage - (UIImage *)createNonInterpolatedUIImageFormCIIma
阅读全文
摘要:1、终端报错:The dependency MBProgressHUD (~> 0.9.2) is not used in any concrete target. 2、原因:CocoaPods升级到最新版本(包括一些高版本),Podfile文件的内容必须明确指出所用第三方库的targetName.
阅读全文
摘要:今天呢,我们继续把CoreText图文混排的点击事件补充上,这样我们的图文混排也算是圆满了。 哦,上一篇的链接在这里 http://www.jianshu.com/p/6db3289fb05d CoreText实现图文混排。所有需要用到的准备知识都在上一篇,没有赶上车的朋友可以去补个票~ 上正文。
阅读全文
摘要:其实仿喜马拉雅FM很早就开始了,从我刚接触iOS开始,就开始仿做了一部分,眼尖的人都从我的github找到了那个项目。随着找到实习iOS工作,仿写就落下了,但唯一的收获就是给过去打了一个响亮的耳光,因为刚入门没注意一些变量的命名,看着以前的view1,view2,button1,button2有一股
阅读全文
摘要:在iOS开发中,多线程是我们在开发中经常使用的一门技术。那么本文章将和大家探讨一下针对于多线程的技术实现。本文主要分为如下几个部分: iOS开发中实现多线程的方式 单线程 pthread NSThread iOS开发中实现多线程的方式 单线程 pthread NSThread 一、iOS开发中实现多
阅读全文