12 2015 档案

摘要:什么是这个问题我们的按钮是点击一次响应一次, 即使频繁的点击也不会出问题, 可是某些场景下还偏偏就是会出问题.通常是如何解决我们通常会在按钮点击的时候设置这个按钮不可点击. 等待0.xS的延时后,在设置回来; 或者在操作结束的时候设置可以点击.- (IBAction)clickBtn1:(UIbut... 阅读全文
posted @ 2015-12-31 17:47 yulang 阅读(447) 评论(0) 推荐(0) 编辑
摘要:iOS 事件处理机制与图像渲染过程iOS RunLoop都干了什么iOS 为什么必须在主线程中操作UI事件响应CALayerCADisplayLink 和 NSTimeriOS 渲染过程渲染时机CPU 和 GPU渲染Core AnimationFacebook Pop介绍AsyncDisplay介绍... 阅读全文
posted @ 2015-12-31 15:32 yulang 阅读(2721) 评论(0) 推荐(0) 编辑
摘要:作者介绍蓝晨钰(@晨钰lancy),iOS 开发者,现居北京,就职于猿题库,关注代码质量,团队效率和产品体验,博客: http://gracelancy.com 。感谢蓝晨钰授权发表,本文的所有打赏归蓝晨钰所有。序猿题库是一个拥有数千万用户的创业公司,从20013年题库项目起步到2015年,团队保持... 阅读全文
posted @ 2015-12-31 12:32 yulang 阅读(455) 评论(1) 推荐(0) 编辑
摘要:因为公司做智能家居开发,有很多蓝牙的智能硬件。因此项目中经常需要和蓝牙打交道。为此为了提高开发效率,就把蓝牙的公共业务进行了封装。本文将对封装的思路做一个简单的阐述。首先我们需要一个头文件。在这个头文件中定义全局的宏,和结构体。看起来大概是这样的。//包长相关的宏#define MAX_PACK_L... 阅读全文
posted @ 2015-12-30 14:33 yulang 阅读(693) 评论(0) 推荐(0) 编辑
摘要:最近在做一个蓝牙相关的项目, 需要在应用进入后台, 或者手机属于锁屏状态的情况下, 仍然保持蓝牙连接, 并且能正常接收数据。本来以后会很麻烦, 但是学习了下..发现就2步而已。简单的不能再简单了。好了。下面是具体实现办法。1.在xxx-info.plist文件中, 新建一行 Required bac... 阅读全文
posted @ 2015-12-30 11:34 yulang 阅读(1905) 评论(0) 推荐(0) 编辑
摘要:背景在APP中列表是一种比较常见的数据展示方式,当有数据时,就显示数据;如果没有数据,一般不会显示一个空白页面,而是在空白页面上加一些提示信息,比如像下面这样:不同的APP会有不同的设计,但不管是什么样的设计,它在整个APP内部应该是一致的,要变也只是文字或图片稍有不同。现状因为我们目前的项目还算比... 阅读全文
posted @ 2015-12-28 23:21 yulang 阅读(761) 评论(0) 推荐(0) 编辑
摘要:本⽂文是苹果《Core Bluetooth Programming Guide》的翻译。关于Core BluetoothCore Bluetooth 框架提供了蓝⽛牙低功耗⽆无线设备与 iOS 应⽤用或 Mac 应⽤用通讯的必要的类。应⽤用可以发现,探索低功耗外设,并与它交互,⽐比如⼼心率监控器和数... 阅读全文
posted @ 2015-12-26 12:57 yulang 阅读(668) 评论(0) 推荐(0) 编辑
摘要:一、背景 2014下半年,微信iOS版先后适配iPad, iPhone6/6plus。随着这些大屏设备的登场,部分用户觉得微信的字体太小,但也有很多用户不喜欢太大的字体。为了满足不同用户的需求,我们做了全局字体设置功能,在【设置-通用-字体大小】这里修改设置后,微信大部分界面都会随之缩放。二、多设备... 阅读全文
posted @ 2015-12-25 23:28 yulang 阅读(7088) 评论(2) 推荐(1) 编辑
摘要:小视频是微信6.0版本重大功能之一,在开发过程中遇到不少问题。本文先叙述小视频的产品需求,介绍了几个实现方案,分析每个方案的优缺点,最后总结出最优的解决方案。小视频播放需求可以同时播放多个视频用户操作界面时视频可以继续播放播放时不能卡住界面,视频滑进界面内后要立即播放视频在列表内播放是静音播放,点击... 阅读全文
posted @ 2015-12-25 22:57 yulang 阅读(2172) 评论(0) 推荐(0) 编辑
摘要:做过一些iOS的项目,不同项目的沉淀没有积累到一起,目录的管理都在后期随着人员的增加越来越混乱,因此在这里做一些梳理,希望达到两个目的。一套相对通用的目录结构,作为后续项目的模版。积累相应的基础库,在后续的项目里不断打磨,最后开源。几个基本的原则:一个合理的目录结构应该是清晰的,让人一眼就能了解目录... 阅读全文
posted @ 2015-12-23 23:34 yulang 阅读(908) 评论(0) 推荐(0) 编辑
摘要:又是一年双十一,亿万用户都会在这一天打开手机淘宝,高兴地在会场页面不断浏览,面对琳琅满目的商品图片,抢着添加购物车,下单付款。为了让用户更顺畅更方便地实现这一切,做到“如丝般顺滑”,双十一前夕手机淘宝成立了“521”(我爱你)性能优化项目,在日常优化基础之上进行三个方面的专项优化攻关,分别是1)H5... 阅读全文
posted @ 2015-12-23 23:18 yulang 阅读(433) 评论(0) 推荐(0) 编辑
摘要:每年iOS升级,都会带来一些坑,这次iOS9也不例外。本文总结了微信在适配iOS9上遇到的问题和解决方案。一、iOS9问题汇总1. 编译问题(Bitcode)大部分人升级到Xcode7后,首先遇到的问题是编译不过,错误提示大致是xxx does not contain bitcode. You mu... 阅读全文
posted @ 2015-12-23 21:56 yulang 阅读(428) 评论(0) 推荐(0) 编辑
摘要:一、Point Vs PixeliOS中当我们使用Quartz,UIKit,CoreAnimation等框架时,所有的坐标系统采用Point来衡量。系统在实际渲染到设置时会帮助我们处理Point到Pixel的转换。这样做的好处隔离变化,即我们在布局的事后不需要关注当前设备是否为Retina,直接按照... 阅读全文
posted @ 2015-12-22 23:48 yulang 阅读(264) 评论(0) 推荐(0) 编辑
摘要:最近遇到一个比较奇葩的需求:App与硬件通过WiFi LAN通信, 同时App需要与服务器通过3G/4G WAN通信,如下图:众所周知,手机同时打开WiFi和3G时候,会优先走WiFi。这个该如何实现呢?市面上有一个极路客APP已经实现此方案,网上各种搜索资料,出现一个Multipath TCP概念... 阅读全文
posted @ 2015-12-21 23:41 yulang 阅读(1607) 评论(0) 推荐(0) 编辑
摘要:A UIScreen object contains the bounding rectangle of the device’s entire screen. When setting up your application’s user interface, you should use the... 阅读全文
posted @ 2015-12-21 22:37 yulang 阅读(3439) 评论(0) 推荐(0) 编辑
摘要:Self-Manager源于我们团队内部的黑话,“诶?你刚去的创业公司有几个 iOS 开发啊?” “就我一个” “靠,你这是 Self-Manager 啊”最近,这个思路被我们当做了一种设计模式,即赋予一个 Widget 更大的权利,让其自己负责自己的事件。举个简单的栗子,这种负责展示头像的视图:它... 阅读全文
posted @ 2015-12-20 21:47 yulang 阅读(383) 评论(0) 推荐(0) 编辑
摘要:首先认识一下UICollectionViewNS_CLASS_AVAILABLE_IOS(6_0) @interface UICollectionView : UIScrollView UICollectionView 和 UICollectionViewController 类是iOS6 新引进... 阅读全文
posted @ 2015-12-20 16:28 yulang 阅读(234) 评论(0) 推荐(0) 编辑
摘要:1、基本概念在iPad和iPhone 5出现之前,iOS设备就只有一种尺寸。我们在做屏幕适配时需要考虑的仅仅有设备方向而已。而很多应用并不支持转向,这样的话就完全没有屏幕适配的工作了。随着iPad和iPhone 5,以及接下来的iPhone 6的推出,屏幕尺寸也变成了需要考虑的对象。在iOS7之前,... 阅读全文
posted @ 2015-12-20 13:41 yulang 阅读(159) 评论(0) 推荐(0) 编辑
摘要:随着iOS8系统的发布,一个全新的页面UI布局概念出现,这个新特性将颠覆包括iOS7及之前版本的UI布局方式,这个新特性就是Size Class。Size Class配合Auto Layout可以解决所有(包括iPhone及iPad)iOS设备屏幕尺寸及屏幕旋转时候的UI适配问题 。二、为什么要使用... 阅读全文
posted @ 2015-12-20 12:30 yulang 阅读(755) 评论(1) 推荐(0) 编辑
摘要:我们经常会遇到UITableViewCell的高度要跟随内容而调整,在未引入AutoLayout之前,我们使用以下方法计算Label高度,然后heightForRowAtIndexPath中返回计算的高度,这种做法,真的很土很局限很不好,如果UILabel使用了CoreText或者UIKit进行了富... 阅读全文
posted @ 2015-12-19 16:17 yulang 阅读(1733) 评论(0) 推荐(0) 编辑
摘要:AutoLayout 与 UIScrollView的相遇是一个不可避免的场景,像UITableView、UIWebView这些都是继承于UIScrollView的,关于它们的autolayout布局大体一致,但还是会有略微不同,而我们这篇讨论的主要是其contentSize问题,所以就直接讲UISc... 阅读全文
posted @ 2015-12-19 15:22 yulang 阅读(1282) 评论(0) 推荐(0) 编辑
摘要:随着iPhone6/6+设备的上市,如何让手头上的APP适配多种机型多种屏幕尺寸变得尤为迫切和必要。(包括:iPhone4/4s,iPhone5/5s,iPhone6/6s,iPhone 6p/6ps)。在iPhone6出现以前,我们接触的iPhone屏幕只有两种尺寸:320 x 480和320 x... 阅读全文
posted @ 2015-12-19 14:40 yulang 阅读(348) 评论(0) 推荐(0) 编辑
摘要:定位服务定位服务有很多APP都有,如果用户关闭了定位,那么,我们在APP里面可以提示用户打开定位服务。点击到设置界面设置,直接跳到定位服务设置界面。代码如下://定位服务设置界面NSURL *url = [NSURL URLWithString:@"prefs:root=LOCATION_SERVI... 阅读全文
posted @ 2015-12-03 17:54 yulang 阅读(1149) 评论(0) 推荐(0) 编辑
摘要:类和对象Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等。这种特性意味着Objective-C不仅需要一个编译器,还需要一个运行时系统... 阅读全文
posted @ 2015-12-02 21:12 yulang 阅读(736) 评论(0) 推荐(0) 编辑
摘要:利用 Objective-C 的 Runtime 特性,我们可以给语言做扩展,帮助解决项目开发中的一些设计和技术问题。这一篇,我们来探索一些利用 Objective-C Runtime 的黑色技巧。这些技巧中最具争议的或许就是 Method Swizzling 。介绍一个技巧,最好的方式就是提出具体... 阅读全文
posted @ 2015-12-01 20:43 yulang 阅读(180) 评论(0) 推荐(0) 编辑
摘要:Objective-C 扩展了 C 语言,并加入了面向对象特性和 Smalltalk 式的消息传递机制。而这个扩展的核心是一个用 C 和 编译语言 写的 Runtime 库。它是 Objective-C 面向对象和动态机制的基石。Objective-C 是一个动态语言,这意味着它不仅需要一个编译器,... 阅读全文
posted @ 2015-12-01 19:50 yulang 阅读(421) 评论(0) 推荐(0) 编辑
摘要:1.ReactiveCocoa常见操作方法介绍1.1 ReactiveCocoa操作须知所有的信号(RACSignal)都可以进行操作处理,因为所有操作方法都定义在RACStream.h中,因此只要继承RACStream就有了操作处理方法。1.2 ReactiveCocoa操作思想运用的是Hook(... 阅读全文
posted @ 2015-12-01 15:38 yulang 阅读(261) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示