
iOS/OSX
jacinzhang
这个作者很懒,什么都没留下…
展开
-
iOS7 edgesForExtendedLayout
在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtendedLayout:],它的默认值为UIRectEdgeAll。当你的容器是navigation controller时,默认的布局将从navigation bar的顶部开始。这就是为什么所有的UI元素都往上漂移了44pt。有时会加上顶部tool bar的高度 20, 20+44 =转载 2015-11-28 12:16:54 · 248 阅读 · 0 评论 -
Xcode 6制作动态及静态Framework
有没有写SDK或者要将一些常用的工具类做成Framework的经历? 你或许自己写脚本完成了这项工作,相信也有很多的人使用 iOS-Universal-Framework ,随着Xcode 6的发布,相信小伙伴们已经都知道了,Xcode 6支持做Framework了. 同时iOS-Universal-Framework开发者也宣布不在继续维持此项目的开发,建议开发者使用Xcode 6制作,目前网上原创 2015-03-16 17:19:50 · 402 阅读 · 0 评论 -
iOS开发教程:Storyboard全解析-第一部分
故事版(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图:现在,你就可以清楚的看到这个应用究竟是干些什么的,也可以清楚的看到其中的各种关系,这就是Storyboard的强大之处了。如果你要制作一个页面很多很复杂的App,Storyboard可以帮助你解转载 2015-03-20 22:28:29 · 313 阅读 · 0 评论 -
在iOS 8中使用UIAlertController
iOS 8的新特性之一就是让接口更有适应性、更灵活,因此许多视图控制器的实现方式发生了巨大的变化。全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸变化效果(比如说旋转)中发挥了重要的作用,它有效地节省了程序员们的工作量(天地良心啊)。还有,某些旧的UIKit控件也同样发生了许多变化,比如说Alert Views、Action Sheets、Po转载 2015-03-24 15:42:36 · 302 阅读 · 0 评论 -
iOS开发数据缓存
原文地址:http://www.cnblogs.com/wendingding/p/3950198.html转载 2015-03-31 10:42:34 · 336 阅读 · 0 评论 -
UISearchDisplayController 及UISearch的使用
UISearchBar背景透明,去掉背景,自定义背景(转)1.UISearchBar 的样式自定义seachBar=[[UISearchBar alloc] init];//修改搜索框背景seachBar.backgroundColor=[UIColor clearColor];//去掉搜索框背景//1.[[searchb转载 2015-06-19 13:25:17 · 271 阅读 · 0 评论 -
iOS不同版本适配问题(#ifdef __IPHONE_7_0)
部分参考http://www.cnblogs.com/ios8/p/ios-version-com.html下面举个简单的例子来说明在iOS7.0和iOS6.1(以及更低版本)之间的适配问题(用的是xcode5.0,里边有6.1和7.0两个版本的sdk)新建一个工程,默认的development target,base sdk以及模拟器的版本都是7.0,在AppDelega转载 2015-06-30 10:38:31 · 670 阅读 · 0 评论 -
关于自定义转场动画,我都告诉你
原文链接:http://www.jianshu.com/p/38cd35968864#概述这篇文章,我将讲述几种转场动画的自定义方式,并且每种方式附上一个示例,毕竟代码才是我们的语言,这样比较容易上手。其中主要有以下三种自定义方法,供大家参考:Push & PopModalSegue前两种大家都很熟悉,第三种是 Stroyboard 中的拖线,属于 UIStoryb转载 2015-07-21 11:13:37 · 372 阅读 · 0 评论 -
个人常用iOS第三方库以及XCode插件介绍
前言第三方库是现在的程序员离不开的东西 不光是APP开发 基本上所有的商业项目 都会或多或少的使用到第三方库Github上Star>100的开源库数量如下可以看到JS以绝对的优势排名第一 一定程度上也说明了JS在这几年为什么发展得这么迅速 不会点JS都不好意思说自己是码农 不过现在JS圈的造轮子浪潮也是愈演愈烈了 自己不写个框架都不好意思打招呼OC排名第四 相信转载 2015-07-21 11:44:45 · 303 阅读 · 0 评论 -
主工程依赖一个子工程(static library)
背景:由于创建一个app的时候需要引入大量的依赖三方库或者自己写的工具类,每次新建app这些事情都需要大量的时间。所以,就考虑建一个公共工程,每次新建项目,只是需要依赖这个工程就行了。思路设计:①BaseApp,用于存放公共的库。②BaseAppSample用于写demo和示例,方面别人在使用的时候查看和借鉴。具体步骤:1、创建BaseApp工程,注意这里被依赖的工程要是S转载 2015-07-22 15:47:48 · 396 阅读 · 0 评论 -
In App Purchase
原文链接iOS内购实现及测试Check List免费+应用内购买的模式已经被证明了是最有效的盈利模式,所以实现内购功能可能是很多开发者必做的工作和必备的技能了。但是鉴于内购这块坑不算少,另外因为sandbox测试所需要特定的配置也很多,所以对于经验不太多的开发者来说很容易就遇到各种问题,并且测试时出错Apple给出的也只有“Can not connect iTunes Stor转载 2015-07-24 09:54:15 · 373 阅读 · 0 评论 -
iOS开发---Debug和Release
根据Debug和Release状态的变化来屏蔽日志输出今天在这里分享一个很实用的小技巧。 我们平时在开发应用的时候,经常会用到NSLog来调试我们的程序,而随着项目越来越大,这些用于调试的日志输出就会变得很难管理。 我们在发布正式版的时候一定要屏蔽掉所有后台输出,因为这些输出还是比较消耗系统资源的。 往往到了这个时候,我们不得不去一行一行的找到NSLog调用,然后注释掉。 这样做在项目小原创 2015-02-15 15:41:11 · 521 阅读 · 0 评论 -
iOS开发教程:Storyboard全解析-第二部分
感谢作者,支持原创如果你想了解更多Storyboard的特性,那么你就来对了地方,下面我们就来接着上次的内容详细讲解Storyboard的使用方法。在上一篇《iOS开发教程:Storyboard全解析-第一部分》中,我们介绍了如何使用storyboard来制作多种场景和如何将这些场景链接起来,我们还学习了如何自定义一个表格视图。接下来这部分,也是最后一部分,我们将讲转载 2015-03-20 22:42:25 · 264 阅读 · 0 评论 -
iOS多线程---GCD
一、简介在iOS所有实现多线程的方案中,GCD应该是最有魅力的,因为GCD本身是苹果公司为多核的并行运算提出的解决方案。GCD在工作时会自动利用更多的处理器核心,以充分利用更强大的机器。GCD是Grand Central Dispatch的简称,它是基于C语言的。如果使用GCD,完全由系统管理线程,我们不需要编写线程代码。只需定义想要执行的任务,然后添加到适当的调度队列(dispatch转载 2015-03-30 19:10:50 · 278 阅读 · 0 评论 -
NSThread & Run Loop
前言多线程的价值无需赘述,对于App性能和用户体验都有着至关重要的意义,在iOS开发中,Apple提供了不同的技术支持多线程编程,除了跨平台的pthread之外,还提供了NSThread、NSOperationQueue、GCD等多线程技术,从本篇Blog开始介绍这几种多线程技术的细节。对于pthread这种跨平台的多线程技术,这本Programming with POSIX Th转载 2015-04-14 19:26:35 · 299 阅读 · 0 评论 -
Objective-C之run loop详解
Objective-C之run loop详解作者:wangzz原文地址:http://blog.youkuaiyun.com/wzzvictory/article/details/9237973转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢! 做了一年多的IOS开发,对IOS和Obj转载 2015-04-13 13:56:25 · 272 阅读 · 0 评论 -
NSRunLoop
Run LoopsRun loops是线程相关的的基础框架的一部分。一个run loop就是一个事件处理的循环,用来不停的调度工作以及处理输入事件。使用run loop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。Run loop的管理并不完全自动的。你仍然需要设计你的线程代码在合适的时候启动run loop并正确响应输入事件。Cocoa和Core Fund转载 2015-04-13 13:23:04 · 273 阅读 · 0 评论 -
iOS之友盟错误统计解决
First相信有很多开发者在项目中加入了友盟统计,其中一个最主要的功能就是查看线上版本统计到的错误。但是当你看到这样的信息时:会不会有这样的想法:这尼玛到底是什么鬼?!!此时你可能会百度(干得漂亮!),我相信你“闪闪”的双眼肯定会看到这篇文章的:dSYM文件分析工具。具体用法我就不重复了,博主写的很详细,而且这个工具真的真的很好用!Second但是,友盟还统计到了这转载 2015-07-21 11:39:49 · 404 阅读 · 0 评论 -
一个苹果证书怎么多次使用——导出p12文件
原文:http://my.oschina.net/u/1245365/blog/196363摘要 在苹果开发者网站申请的证书,是授权mac设备的开发或者发布的证书,这意味着一个设备对应一个证书,但是99美元账号只允许生成3个发布证书,两个开发证书,这满足不了多mac设备的使用,使用p12文件可以解决这个问题。证书 p12 导出 ios目录[-]为什么要导原创 2015-03-16 12:36:31 · 255 阅读 · 0 评论 -
一些常用的IOS开发网站
开发教程:即便过了入门阶段,还是要经常看看一些不错的实例教程。1.http://mobile.tutsplus.com/category/tutorials/iphone/比较新的一个网站,以前没注意到。其中有一篇文章着重推荐,学习iOS游戏开发可以参考的10个实例(源代码都在github上):http://mobile.tutsplus.com/tutoria转载 2015-10-29 10:29:11 · 284 阅读 · 0 评论 -
loadView、viewDidLoad及viewDidUnload的关系
标题中所说的3个方法,都是UIViewController的方法,跟UIViewController的view属性的生命周期息息相关。接下来我会一一阐述它们的作用以及它们之间的联系。loadView1.什么时候被调用?每次访问UIViewController的view(比如controller.view、self.view)而且view为nil,loadView方法就会被调用。转载 2016-02-28 12:06:00 · 286 阅读 · 0 评论 -
ViewController生命周期详解
在我之前的学习笔记中讨论过ViewController,过了这么久,对它也有了新的认识和体会,ViewController是我们在开发过程中碰到最多的朋友,今天就来好好认识一下它。ViewController是IOS开发中MVC模式中的C,ViewController是view的controller,ViewController的职责主要包括管理内部各个view的加载显示和卸载,同时负责与其他Vi转载 2016-02-03 11:52:49 · 268 阅读 · 0 评论 -
UINavgationController中覆写preferredStatusBarStyle方法不执行的问题
#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad];}-(UIStatusBarStyle)preferredStatusBarStyle{ retur转载 2016-02-23 12:02:09 · 225 阅读 · 0 评论 -
第三方登录之QQ登录(二)——OAuth2.0处理流程介绍(以QQ登录为例)
为了让网站更快接入,腾讯提供了JS SDK的接入方案,具体点击这里或者点击这里进行查看。不过也可以自己写代码,当然你需要了解QQ的OAuth2.0的处理流程(Web Server Flow)。OAuth2.0的处理流程:点击这里查看官方Wiki。1.授权:获取授权码Authorization Code 说明:第一步QQ必须得到要登转载 2016-03-18 15:16:57 · 857 阅读 · 0 评论 -
breakpoints && lldb && chisel
BreakpointsBreakPoint分类breakpoint也是有分类的,我这里的文章内大致按使用的方式分为了 Normal Breakpoint,Exception Breakpoint,OpenGL ES Error breakpoint,Symbolic Breakpoint,Test Failure Breakpoint,WatchPoints。可以按具体转载 2016-03-16 11:41:37 · 339 阅读 · 0 评论 -
使用Xcode和Instruments调试解决iOS内存泄露
原文链接虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开发环境:XCode 4.5.21、运行Demo。转载 2016-02-16 10:42:18 · 229 阅读 · 0 评论 -
有趣的Autolayout示例-Masonry实现
更新2015-12-23: 感谢XVXVXXX的PR,更新了Case22015-12-15: 第三篇:有趣的Autolayout示例3-Masonry实现2015-11-27: 感谢“谢小雷”指出打字错误~2015-9-10: 第二篇: 有趣的Autolayout示例2-Masonry实现2015-9-1: 感谢“王振宇C艹”指出打字错误,已经修改了哈~前言转载 2016-02-02 14:14:02 · 269 阅读 · 0 评论 -
AutoLayout框架Masonry使用心得
原文链接AutoLayout的一些基本概念利用约束来控制视图的大小和位置,系统会在运行时通过设置的约束计算得到frame再绘制屏幕两个属性Content Compression Resistance(排挤,值越高越固定)和Content Hugging(拥抱),Masonry代码如下//content hugging 为1000[view setContentHuggingP转载 2016-02-02 14:12:17 · 339 阅读 · 0 评论 -
如何打破NSTimer 与 Target之间形成的Retain Cycle
NSTimerRetain Cycle原创 2016-01-28 01:18:40 · 289 阅读 · 0 评论 -
Mantle的使用
原文链接传统的写法是多么low做iOS开发的,大概都写过model类。入门的写法大家可以参考Afnetworking的Demo,有一个较经典的例子。 当项目规模变得越来越大后,你会发现,传统的写法成本会很高,维护成本也很高。 用mantle,可以用很小的开发维护成本获得最大的开发效率。用mantle可以很方便的进行模型类和JSON数据之间的转换。(还有其他理由说服我使用ma转载 2016-01-27 17:40:04 · 519 阅读 · 0 评论 -
IOS-- UIView中的坐标转换
IOS-- UIView中的坐标转换// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;// 将像素point从view中转换到当前视图中,返回在当前视图中的像素值- (CGPoint)转载 2015-12-23 13:46:04 · 308 阅读 · 0 评论 -
loadView & xib
关于UIViewController 中的loadView 什么时候会调用每次访问UIViewController的view(比如controller.view、self.view)而且view为nil,loadView方法就会被调用。 前提是 view 的UIViewController 不为空。作用:loadView方法是用来负责创建UIViewControll转载 2015-12-23 13:27:44 · 297 阅读 · 0 评论 -
iOS之旅--隐藏(去除)导航栏底部横线
iOS开发大部分情况下会使用到导航栏,由于我司的app导航栏需要与下面紧挨着的窗口颜色一致,导航栏底部的横线就会影响这个美观,LZ使用了以下方法。觉得不错,分享来给小伙伴们。1)声明UIImageView变量,存储底部横线@interface MyViewController { UIImageView *navBarHairlineImageView;}1232转载 2015-11-29 00:15:38 · 1156 阅读 · 0 评论 -
UIView用户事件响应
UIView除了负责展示内容给用户外还负责响应用户事件。本章主要介绍UIView用户交互相关的属性和方法。 1、交互相关的属性 userInteractionEnabled 默认是YES ,如果设置为NO则不响应用户事件,并且把当前控件从事件队列中删除。也就是说设置了userInterfaceEnabled属性的视图会打断响应者链导致该view的subview都无法响应事件。转载 2015-11-18 01:18:40 · 293 阅读 · 0 评论 -
最火的iOS开源项目
1. AFNetworking支持HTTP请求和基于REST的网络服务(包括GET、POST、PUT、DELETE等);支持ARC;要求iOS 5.0及以上版本;有一些插件扩展已有的功能,还有一个功能齐全的API;从URL中获取JSON特别简单。2. Three20Three20原本是iPhone版Facebook中所使用的工具库,包括照片查看器等一系列的iPh转载 2015-11-18 00:00:28 · 423 阅读 · 0 评论 -
Copy 和 MutableCopy
一个对象可以调用copy或mutableCopy方法来创建一个副本对象。 1、copy:创建的时不可变副本(如NSString、NSArray、NSDictionary)。 2、mutableCopy:创建的可变副本(如NSMutableString、NSMutableArray、NSMutableDictionary)。 使用copy功能的前提:原创 2015-11-23 10:28:55 · 316 阅读 · 0 评论 -
iOS运行时初探-使用运行时机制向Category中添加属性
了解OC的都应该知道,在一般情况下,我们是不能向Category中添加属性的,只能添加方法,但有些情况向,我们确实需要向Category中添加属性,而且很多系统的API也有一些在Category添加属性的情况,例如我们属性的UITableView的section和row属性,就是定义在一个名为NSIndexPath的分类里的,如下 那这到底是怎么实现的呢?iOS运行时机制简介转载 2015-10-29 10:26:50 · 259 阅读 · 0 评论 -
armv6、armv7、armv7s及arm64
http://www.cocoachina.com/ios/20140915/9620.htmlArm处理器,因为其低功耗和小尺寸而闻名,几乎所有的手机处理器都基于arm,其在嵌入式系统中的应用非常广泛,它的性能在同等功耗产品中也很出色。Armv6、armv7、armv7s、arm64都是arm处理器的指令集,所有指令集原则上都是向下兼容的,如iPhone4S的CPU默原创 2015-02-15 15:01:46 · 703 阅读 · 0 评论 -
iOS开发:创建真机调试证书
关于苹果iOS开发,笔者也是从小白过来的,经历过各种困难和坑,其中就有关于开发证书,生产证书,in_house证书,add_Hoc证书申请过程中的问题,以及上架发布问题。今天就着重说一下关于针对于苹果开发者网站更新之后的真机调试证书申请。这所有的前提都是:你得有苹果开发者账号个人($99)、公司($99)、企业($299)账号均可。工具/原料能上原创 2015-03-16 13:13:07 · 392 阅读 · 0 评论 -
提高iOS开发效率的方法和工具
介绍这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具。IDE首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时在使用AppCode等其他的IDE,在这里我主要介绍Xcode中提升开发效率的方法。1.善用快捷键快捷键是开发中必不可少的,当你善于使用快捷键的时候,十指在键盘上飞舞,那画面太美,我不敢想象。常用快捷键操作转载 2015-07-21 11:42:28 · 218 阅读 · 0 评论