今天是周六,用了一天的时间自己尝试做一个UICollectionView。完全是因为昨天看了一整天的UICollectionView的新特性,看得是自我感觉极好,感觉真简单,准备今天用半天时间完成两个Demo。结果还是印证了那句话:自己动手做才知道没那么简单。现记录。 先看效果: 1、新建一个项目 新建一个Single View Application: 然后把Storyboard中的默认的ViewController视图删掉,接着把文件列表中的ViewController.h和ViewController.m也都删掉: 2、拖拽一个Collection View Controller到Storyboard 然后大概是这样: 选中Collection View

最近我的第三方微博客户端KittenYang快完成了,但我才意识到之前很多Trick没有及时记在这个博客里。所以现在能留下什么就留点什么吧。因为我已经等不及着手下一个作品了。 今天我要说的是,怎么在你的键盘中集成微博的表情键盘。 效果像这样: 考虑到复用,我们最好把这个表情键盘封装成一个类,方便以后凡是用到表情键盘的地方都可以快速调用。下面我来仔细介绍一下设计思路。 *准备工作 新建EmotionView : UIView. 首先,我们需要一些准备工作,你可以到这里 下载到我开源的代码。里面有一个face/emoticons.plist 文件,这个文件是一个字典,大概就长这样: 解读一下这个plist文件,这一整个是一个数组,

今天我在我的第三放微博客户端 KittenYang 中使用定位服务发现,由于使用Xcode6进行编译,在iOS8中之前老一套的 CLLocationManager 使用规则已经不适用了。好在经过搜索和询问我终于找到了iOS8下的解决办法,下面做个笔录。 首先在 .h文件 中定义一个属性: @property (nonatomic, strong) CLLocationManager *locationManager; 并且遵守CLLocationManagerDelegate委托: @interface NearbyViewController: BaseViewController<CLLocationManagerDelegate> 之后在 viewDidLoad

话不多说,先看今天要实现的效果图: 正如你看到的那样,今天我来介绍一下如何实现UITbaleView实现监听contentView的偏移量,然后去实现相应的操作(比如上面的gif里面就实现了dismissModalView)。其实我要坦白的一点是,这个真的没有什么技术含量,但这件事的意义在于它让你学会思考如何让你的App更加易用和人性化。就拿这个GIF来说,如今iPhone6/iPhone6 Plus的面世导致App在交互上也必须得跟着发生变化,在大屏上很难再够到顶部的 cancel 按钮。所以,用识别TableView下拉一定距离后实现关闭当前界面会十分方便。在我看到,大屏手机上顶部还有交互按钮的App全是反人类,全是没有用心做产品的表现。不是说只要放大界面撑满大屏幕就好了,我们要做的是思考如何舒服地使用大屏。 Back to topic!

开始之前,我先要反省一下自己。我有一个坏毛病,就是看到好的技术类文章会条件反射地保存到Pocket,然后就结束了,以为这样就算掌握了。时间久了,看到满满的Pocket保存的优秀的文章,我就意识到每次只存不看可不行。所以,问题不可怕,发现问题对症下药解决它才重要。于是我想了个方法,如果当天看到好的文章,那就别等了,趁热打铁说什么都要就消化完,哪怕熬夜也给我看完。 今天我做的笔记是如何使用Xcode6的 SizeClass 和 Autolayout 。 一、什么是SizeClass? 首要,我们知道随着iPhone6/iPhone6

看完这篇博客,并且你按照我说的做的话,我保证你体验完之后会被自己的Mac飞一般的效率惊艳到! 我很早就接触了Jitouch ,这里的很早指我没有买Magic Mouse之前。在没有Macgic Mouse之前,我一直用的是Macbook自带的Trackpad完成一切操作,并且平生一次感受到Jitouch的强大。坦率地讲,触控板完全能满足日常所需。但问题是以写代码为生的软件工程师,必须外接更大的显示器,这样一来就导致必须配置外置键盘和外置鼠标。于是,在我入手Magic Mouse的第一时间,我开启了之前被我久久闲置的Jitouch为Magic Mouse专门设计的功能。这一试不要紧,但真的太爽了,终于促成了这篇文章。不说了,进入正题。 首先你要去官网

首先你需要用一个FTP软件来连接你的服务器以此更直观地来获取你的文件目录。我在Mac上使用的是 FileZilla。 界面大致是这样的: 点击左上角的 站点管理器,按照下图输入信息,你只需要更改 主机 和 密码 两项就可以了。 连接成功之后你可以看到你的网站文件目录被罗列出来了。 现在,你先进入 /etc/nginx/sites-enabled 这个目录,新建一个文件,不需要后缀名。 然后往这个文件里面写入配置信息,右键,查看/编辑: 然后你可以用自己电脑上的编辑器打开,

鉴于我开这个博客的初衷是记录自己平时的技术积累,而我平时又属研究iOS最多,因此这个博客在一定程度上可以说是以iOS技术为主的博客。既然研究iOS,那我在博客的一开始就有必要普及一些基础性、底层的东西。好,今天我们先来认识CocoaPods。 1、什么是CocoaPods? 首先你要知道 “第三方类库” 这个名词。第三方类库,用最通俗易懂的语言讲就是:别人写好的代码,然后你可以直接拿来用。用最少的时间实现自己需要的功能。这就是第三方类库。这也程序员伟大的地方————开源精神。 好,现在你已经大概对第三方类库有了大致的概念了。那么,如果你的项目中有很多这样的第三方类库(这对商业App来说简直是必然的)

这是本博客的第一篇文章,我决定用来记录这个网站的诞生过程(即如何在阿里云服务器ECS_Ubuntu系统上安装Ghost博客)。一来可以把这个难忘的建站经历记录下来,二来也可以总结一些成功的经验供未来通过搜索引擎找到这儿的网友一些帮助。文章比较细,遇到你熟悉的部分可以跳过不看。嗯,开始吧。。。 1. 购买域名 域名就是网址。比如我这个网站的域名就是 kittenyang.com 。Godaddy 是全球最大的域名供应商,所以我在Godaddy(网友亲切称其为“狗爹”)购买了域名。 首页中大大的输入框(Enter a domain