自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

 仗剑走天涯

你不够成功,是因为你对自己决定要做的事情不够热爱

  • 博客(85)
  • 资源 (2)
  • 收藏
  • 关注

原创 NSAttributeString和NSMutableAttributeString

UIFontDescriptor *bodyFontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody]; self.textView.font = [UIFont fontWithDescriptor:bodyFontDescriptor size:0];

2015-03-26 23:40:04 1949

原创 哈希与加密(一)

声明:本文源自对哈希(Hash)与加密(Encrypt)的基本原理、区别及工程应用的学习整理1、哈希与加密的区别(1)哈希:将目标文本转换成具有相同长度、不可逆的杂凑字符串(或称消息摘要);(2)加密:将目标文本转换成具有不同长度、可逆的密文。实际上,使用相同的hash算法,不论目标文本有多长,得到的结果长度固定;加密算法往往与目标文本的长度成正比。2、哈希与加密的数学基础

2015-03-10 21:37:11 2657 1

转载 iPhone图片拉伸的几种方法

系统至ios6之后,关于图片拉伸的方法已经扩展至3个函数:1.ios4提供的方法:- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的

2015-03-02 13:05:48 2648

原创 使用脚本删除ios工程中未使用图片

最近在读唐巧大神的《iOS开发进阶》,学到了一个大招:使用脚本删除ios中未使用的图片(纸书上有点小问题,参考github上的issue:使用脚本删除ios中未使用图片)。      issue中得到的建议是:将代码保存在一个.sh文件中,在xcode里面执行shell脚本文件。看到这里,头瞬间大了,大学学的shell都还给linux老师了....还有xcode中怎么执行脚本啊???

2015-03-02 00:27:34 3508 2

原创 个推使用总结

在ios客户端集成个推并不难,按照官方文档和demo,还有几个很重要的时序图跑几遍就大概知道怎么写代码了。    这里用根据自己的理解重述一下个推的代码流程:    1、创建个推skd对象,skd会将clientid发送到个推服务器,并异步返回clientid。个推服务器利用clientid来唯一标识每一个设备,收到clientid之后,你可以将clientid和用户信息等上传到app服务

2015-01-15 22:48:41 8473 4

转载 WWDC 2012 Session笔记——202, 228, 232 AutoLayout(自动布局)入门

WWDC 2012 Session笔记——202, 228, 232 AutoLayout(自动布局)入门这是博主的WWDC2012笔记系列中的一篇,完整的笔记列表可以参看这里。如果您是首次来到本站,也许您会有兴趣通过RSS,或者通过页面左侧的邮件订阅的方式订阅本站。AutoLayout在去年的WWDC上被引入Cocoa,而在今年的WWDC上,Apple不惜花费了三个Ses

2014-12-29 10:56:06 684

转载 动态计算UITableViewCell高度详解

原文地址动态计算UITableViewCell高度详解本站QQ技术群:93916004不知道大家有没有发现,在iOS APP开发过程中,UITableView是我们显示内容常见的控件,本人觉得它是UIKit中最复杂的一个控件。今天要向大家介绍的就是如何动态计算UITableViewCell高度的一经验与技巧,在此做一些总结方便朋友们查阅。

2014-12-29 10:12:53 679

转载 SizeClass 和AutoLayout教程2

原文链接第二篇我带大家做个自动布局的DEMO,这次会讲一些稍微复杂点的布局。整体思路照着《iOS8 by tutorials》的第一章来,大部分直接翻译,会加入我自己的解释和理解,有兴趣的可以上Raywenderlich网站购买正版图书。打开Xcode,新建一个single ViewController项目,打开storyboard,拖一个ImageView到我们的viewcontro

2014-12-20 14:09:30 778

转载 SizeClass和AutoLayout教程1

SizeClass和AutoLayout教程1  讲SizeClass之前,先讲Layout,因为SizeClass 本质上就是AutoLayout的升级版。  AutoLayout到底是什么?其实就是个约束布局,有点像Android的relativelayout,想想用代码写个UILabel怎么写?UILabel *label = [[UILabel alloc] initW

2014-12-20 11:34:12 732

转载 NSNumber对象缓存以及Tagged Pointer

NSNumber对象缓存以及Tagged PointerMAR 21ST, 2014这是一次和 @onevcat 的技术讨论总结。技术点比较散,但是还都比较有意思。涉及的技术细节包括:系统对象的缓存Tagged Pointer对象autorelase对象按照苹果的编程约定,由非alloc,copy返回的对象都是autorelease的,所以对

2014-12-20 10:00:41 789

转载 Quartz 2D之贝塞尔曲线和二次曲线

点击打开链接Quartz 2D提供了CGContextAddCurveToPoint()和CGContextAddQuadCurveToPoint()两个函数向CGContextRef的当前路径上添加曲线,前者用于添加贝塞尔曲线,后者用于添加二次曲线。绘制贝塞尔曲线的示意图如图12.10所示。从图12.10可以看出,确定一条贝塞尔曲线需要4个点:开始点、第一个控制点、第二个控制

2014-12-18 20:55:50 1130

转载 使用FMDB事务批量更新数据库

今天比较闲看到大家在群里讨论关于数据库操作的问题,其中谈到了“事务”这个词,坦白讲虽然作为计算机专业的学生,在上学的时候确实知道存储过程、触发器、事务等等这些名词的概念,但是由于毕业后从事的不是服务器方面的工作,对数据库方面的知识一直停留在理论阶段,在iOS中有两种比较常用的数据库,一种是sqlite,另外一种是coreData,这二者的优缺点在这里不再赘述,如有感兴趣的同学可以查阅相关资料

2014-11-06 14:21:08 689

转载 iOS中block实现的探究

[0. Brief introduction of block]Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C语言的扩展,用来实现匿名函数的特性。用维基百科的话来说,Block是Apple Inc.为C、C++以及Objective-C添加的特性,使得这些语言可以用类lambda表达式的语法来创建闭包。用Apple文档的话来说,A block is

2014-10-16 19:59:44 627

转载 UISearchDisplayController详解

在之前做过的应用中,很多都有“搜索”这个功能,大部分情况下我都是只采用UISearchBar并结合UItableView来展示搜索结果,其 实IOS SDK中已经有自带的控件能帮助我们做好这些事,这就是UISearchDisplayController,当然这个控件也有一些不足之处,下面我就一 一道来。。首先我先讲下UISearchDisplayController的实现原理:

2014-09-27 10:06:15 1294

转载 NSCalendar日历使用详解

1. 创建或初始化可用以下方法    + (id)currentCalendar;    取得当前用户的逻辑日历(logical calendar)     + (id)autoupdatingCurrentCalendar;    取得当前用户的逻辑日历(logical calendar), ......     - (id)initWit

2014-09-25 20:53:49 4315

转载 关于日期和日历的使用简介

一.NSDate的计算问题      NSTimeInterval 是一个以秒为单位的时间片。 1.可以用initWithTimeIntervalSinceNow方法传入一个NSTimeInterval对象,创建一个NSDate对象。   NSDate * tomorrow =[[NSDate alloc]initWithTimeIntervalSinceNow:24*60

2014-09-25 20:26:10 908

原创 从xcode 6 上传至 App Store

2014年苹果大会结束,ios8发布,可怜的苹果开发者又要开始伤脑筋了。比如提交新产品的那个iTunes connect体验就做得极烂,而且这还是本菜鸟的第一次上线提交,折寿啊一、第一步的上传截图就把我为难死了,各种不同的设备尺寸,各种上传出错        说一下各个inch下的图片规格要求:  (以下讲的都是竖屏、包括状态栏的)      3.5inch(必须)

2014-09-19 11:33:11 2857

原创 安装和使用cocoaPods

一、cocoapods是什么?在ios开发中,我们一定会经常使用到各种各样的第三方开源库,可能你使用的开源库A会依赖到另外一个开源库B,B又依赖C......如此下去,所需的类库就特别多。而且,万一A更新了,B也更新了,C又更新了.....这么悲情的事,我就不继续往下说了。这个时候,你要是用了cocoapods,只需要一行命令,它就会帮你搞定这些无聊的事情。cocoapods是一个iOS的

2014-09-17 22:23:44 1616 1

转载 使用GCD

又是一篇唐巧大神写的文章,猛戳原文地址:

2014-09-03 23:34:22 608

转载 APP IOS6 适配iOS7开发技巧

今天又发现了一个很不错的ios

2014-09-03 20:53:25 732

原创 UITabBarController(一)

今天去面试,被问了一个问题:页面切换的方式有哪几种,UITabBar是如何切换页面的。哎,因为做了太多ipad的应用,就忘记了UITabBarController的使用,真是致命!!!UITabBarController在绝大多数iphone应用中都是要用的啊,起着整体页面布局的作用啊!有木有!!!       巧合的是,突然在混乱的桌面上看到一个page文档,写着《分页控制器》,既然如此就整

2014-09-02 21:49:08 1766

转载 手把手教你ARC——iOS/Mac开发ARC入门和使用

本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流和讨论。请不要将本文的部分或全部内容用于商用,谢谢合作。欢迎转载本文,但是转载请注明本文出处:http://www.onevcat.com/2012/06/arc-hand-by-hand/本文适合人群:对iOS开发有一定基础,熟悉iOS开发中内存管理的Reference Counting机

2014-09-01 12:47:48 626

原创 UISplitViewController基本使用方法

下午下了个popover的示例代码,里面刚好用到了UISplitViewController,一直没太怎么用这个东西,所以就好好整理巩固一下吧。1、几个重要属性(其实真就只有这么几个)(1)viewControllers属性,类型NSArray。这里面放了两个UINavigationController对象的引用,第0个是UISplitViewController的master菜单控制

2014-08-28 21:59:24 3245

原创 ios6前后分别如何处理内存警告

这里有一篇文章,很详细地说明了ios6前后是如何处理内存警告的:来自唐巧的技术博客:http://blog.devtang.com/blog/2013/05/18/goodbye-viewdidunload/1、ios4和ios5中,当收到内存警告时,系统会自动调用当前没有在界面上的VC的viewDidUnload方法。在viewDidUnload写下如下代码: i

2014-08-27 09:36:18 952

转载 MRC工程转ARC工程小记

春节前抽空花了一天的时间将手头的工程从MRC转成了ARC,然后陆陆续续地修复一部分因为转ARC引起的内存泄漏和崩溃,到目前为止工程也算是比较稳定了,抽空记上一笔。(虽说这种事情这辈子估计都只会做这么一次了,但是可以留点经验给后来的童鞋)这个工程启动于12年底13年初,一开始人手少工期短,需要尽快地出demo,同时抱着对面世才一年多的ARC不太信任的态度沿用了最熟悉的MRC。但是随着工程投入

2014-08-26 10:59:15 1033

转载 MKNetworkKit: 网络处理又一利器

没有认识MK之前,即便ASI已经不再更新,也没有启用ASI。因为ASI对于网络的处理更偏向于底层,适合针对各种情形的扩展。但是,今天我要开始使用 MKNetworkKit了,项目在github上,使用说明在作者的主页上。之所以推荐这个项目,除了它列举的功能之外,更重要的在于它完全是MVC的设计思想。相对于代码,背后的设计思想更让人值得回味。另外,已经有一篇中文翻译(如下),各位赶紧

2014-08-26 10:53:46 620

转载 iOS 开发:用 Instruments 来检验你的app

iOS 开发:用 Instruments 来检验你的app编者注:或许很多人对 Instruments 应用不太了解,但可能很多老的 iOS 开发者都应该用过 Instruments 工具来检测iOS应用内存泄漏情况。特别是在iOS 5.0之前,即苹果在iOS平台上面还没支持ARC的时候,写iOS应用就类似C语言那样,容易忘记释放内存,而内存对移动设备而言是非常可贵的。入门

2014-08-25 23:46:29 959

转载 iOS应用性能调优的25个建议和技巧

写在前面本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员。这是他的个人网站:http://www.marcelofabri.com/,你还可以在Twitter上关注@marcelofabri_。性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论。然而

2014-08-25 23:19:44 683

原创 疑难点积累(二)

1、NSTimer的使用参考文章:http://www.cnblogs.com/smileEvday/archive/2012/12/21/NSTimer.html这里有详细的验证和说明(1)timer会对它的target进行retain,直到timer自己失效为止。对重复执行的timer必须调用invalidate才能停止timer,让timer失效。(2)timer并不是一种实时机

2014-08-25 16:35:36 836

转载 利用Quartz 2D实现图片的旋转、缩放、裁剪

本文将为大家介绍常见的IOS图像处理操作包括以下四部分:旋转,缩放,裁剪以及像素和UIImage之间的转化,主要使用的知识是quartz2D。Quartz2D是CoreGraphics框架中的一个重要组成部分,可以完成几乎所有的2D图像绘制,处理功能。跟window编程中GDI的功能一样,而且很多概念都差不多。 一、图像旋转  图像旋转是图像处理过程中一中常见操作,按照旋转

2014-08-25 10:27:53 2105

转载 (译)OpenGL ES2.0 – Iphone开发指引(二)

添加shaders:顶点着色器和片段着色器  在OpenGL ES2.0 的世界,在场景中渲染任何一种几何图形,你都需要创建两个称之为“着色器”的小程序。  着色器由一个类似C的语言编写- GLSL。知道就好了,我们不深究。  这个世界有两种着色器(Shader):  ·Vertex shaders – 在你的场景中,每个顶点都需要调用的程序,称为“顶点着色器”。假如你在渲染一个简

2014-08-24 13:56:48 988

转载 (译)OpenGL ES2.0 – Iphone开发指引(一)

原文链接地址:http://www.raywenderlich.com/3664/opengl-es-2-0-for-iphone-tutorial  免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作!  ps:非常感谢skingTree为

2014-08-24 13:13:55 780

原创 UIViewController各方法的调用顺序

1、调用[self.navigationControllerpopViewControllerAnimated:YES]

2014-08-22 11:58:49 1026

转载 不规则截图的实现

效果如下图:    首先,在工程Bundle中加入测试用的图片文件,比如“meteoralp.jpg”。 首先,我们需要把图片展示在界面上。很简单的操作,唯一需要注意的是由于CGContextDrawImage会使用Quartz内以左下角为(0,0)点的坐标系,所以需要使用CGContextTranslateCTM函数和CGContextScaleC

2014-08-22 11:35:00 1369

原创 实现ios常见菜单效果的思路

目前见过的实现边侧菜单的效果,比较流行的有以下三种:(效果图)1、菜单栏覆盖在部分主视图上附上实现该效果的一个不错的源码地址:http://code4app.com/ios/RNFrostedSidebar/524399706803fa3c33000001(1)最开始要实现这个效果,我想最简单的方式就是:添加UIView,加上一个self.view大小的子视图,菜单

2014-08-21 23:58:34 1646

原创 UINavigationController(二)

在使用UINavigtionController的时候,经常会弄不清哪些属性是UINavigationController的,哪些属性是UIViewController的。而且在更改导航栏和工具栏的样式的时候,经常会于遇到api使用下去没有效果的情况。总之,一直用得比较混乱,今天要好好做一个总结,把那些常用的功能都搞清楚。一、如何往导航栏和工具栏添加按钮1、navigationIt

2014-08-20 13:17:37 1459

转载 iOS 5.0 后UIViewController新增:willMoveToParentViewController和didMoveToParentViewController

在iOS 5.0以前,我们在一个UIViewController中这样组织相关的UIView在以前,一个UIViewController的View可能有很多小的子view。这些子view很多时候被盖在最后,我们在最外层ViewController的viewDidLoad方法中,用addSubview增加了大量的子view。这些子view大多数不会一直处于界面上,只是在某些情

2014-08-20 10:36:08 1452

原创 新浪微博开放平台之OAuth2.0认证

1、先到开放平台创建一个移动应用,获得key和secret,接着到“应用信息”里面填写授权回调页的网址,该网址可以任意,但是必须是能访问的。2、通过新浪提供的api:https://api.weibo.com/oauth2/authorize去请求授权获得授权登录页面(网页形式),然后填写你的新浪微博账号,提交。参数:client_id即appkey,redirect_uri即

2014-08-18 23:42:21 1963

转载 iOS CoreBluetooth 教程

===============Demo下载地址:http://download.csdn.net/detail/jimoduwu/7146875================================Core Bluetooth for iOS 6CoreBluetooth的API是基于BLE4.0的标准的。这个框架涵盖了BLE标准的所有细节。仅仅只有新的i

2014-08-15 16:27:05 631

转载 iOS 上的蓝牙框架 - Core Bluetooth for iOS [译]

所须环境: iOS 6 以上原文: Core Bluetooth for iOS 6Core Bluetooth 是在iOS5首次引入的,它允许iOS设备可以使用健康,运动,安全,自动化,娱乐,附近等外设数据。在iOS 6 中,这个API被扩展了,让iOS也能成为数据提供方,也就是Server(Peripheral)端,可能使它与其它 iOS 设备交互数据。Core B

2014-08-14 17:01:48 662

新浪微博客户端SDK学习

代码是7个月前写的,应该是因为新浪开放平台的api有变更,导致进入登录后进入主页后没有得到任何微博数据。

2014-08-18

WAMP5集成环境

PHP初学者 轻松搭建开发环境 安装包 安装工具

2013-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除