- 博客(85)
- 资源 (2)
- 收藏
- 关注
原创 NSAttributeString和NSMutableAttributeString
UIFontDescriptor *bodyFontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody]; self.textView.font = [UIFont fontWithDescriptor:bodyFontDescriptor size:0];
2015-03-26 23:40:04
2010
原创 哈希与加密(一)
声明:本文源自对哈希(Hash)与加密(Encrypt)的基本原理、区别及工程应用的学习整理1、哈希与加密的区别(1)哈希:将目标文本转换成具有相同长度、不可逆的杂凑字符串(或称消息摘要);(2)加密:将目标文本转换成具有不同长度、可逆的密文。实际上,使用相同的hash算法,不论目标文本有多长,得到的结果长度固定;加密算法往往与目标文本的长度成正比。2、哈希与加密的数学基础
2015-03-10 21:37:11
2740
1
转载 iPhone图片拉伸的几种方法
系统至ios6之后,关于图片拉伸的方法已经扩展至3个函数:1.ios4提供的方法:- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的
2015-03-02 13:05:48
2724
原创 使用脚本删除ios工程中未使用图片
最近在读唐巧大神的《iOS开发进阶》,学到了一个大招:使用脚本删除ios中未使用的图片(纸书上有点小问题,参考github上的issue:使用脚本删除ios中未使用图片)。 issue中得到的建议是:将代码保存在一个.sh文件中,在xcode里面执行shell脚本文件。看到这里,头瞬间大了,大学学的shell都还给linux老师了....还有xcode中怎么执行脚本啊???
2015-03-02 00:27:34
3556
原创 个推使用总结
在ios客户端集成个推并不难,按照官方文档和demo,还有几个很重要的时序图跑几遍就大概知道怎么写代码了。 这里用根据自己的理解重述一下个推的代码流程: 1、创建个推skd对象,skd会将clientid发送到个推服务器,并异步返回clientid。个推服务器利用clientid来唯一标识每一个设备,收到clientid之后,你可以将clientid和用户信息等上传到app服务
2015-01-15 22:48:41
8585
2
转载 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
715
转载 动态计算UITableViewCell高度详解
原文地址动态计算UITableViewCell高度详解本站QQ技术群:93916004不知道大家有没有发现,在iOS APP开发过程中,UITableView是我们显示内容常见的控件,本人觉得它是UIKit中最复杂的一个控件。今天要向大家介绍的就是如何动态计算UITableViewCell高度的一经验与技巧,在此做一些总结方便朋友们查阅。
2014-12-29 10:12:53
714
转载 SizeClass 和AutoLayout教程2
原文链接第二篇我带大家做个自动布局的DEMO,这次会讲一些稍微复杂点的布局。整体思路照着《iOS8 by tutorials》的第一章来,大部分直接翻译,会加入我自己的解释和理解,有兴趣的可以上Raywenderlich网站购买正版图书。打开Xcode,新建一个single ViewController项目,打开storyboard,拖一个ImageView到我们的viewcontro
2014-12-20 14:09:30
816
转载 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
777
转载 NSNumber对象缓存以及Tagged Pointer
NSNumber对象缓存以及Tagged PointerMAR 21ST, 2014这是一次和 @onevcat 的技术讨论总结。技术点比较散,但是还都比较有意思。涉及的技术细节包括:系统对象的缓存Tagged Pointer对象autorelase对象按照苹果的编程约定,由非alloc,copy返回的对象都是autorelease的,所以对
2014-12-20 10:00:41
829
转载 Quartz 2D之贝塞尔曲线和二次曲线
点击打开链接Quartz 2D提供了CGContextAddCurveToPoint()和CGContextAddQuadCurveToPoint()两个函数向CGContextRef的当前路径上添加曲线,前者用于添加贝塞尔曲线,后者用于添加二次曲线。绘制贝塞尔曲线的示意图如图12.10所示。从图12.10可以看出,确定一条贝塞尔曲线需要4个点:开始点、第一个控制点、第二个控制
2014-12-18 20:55:50
1185
转载 使用FMDB事务批量更新数据库
今天比较闲看到大家在群里讨论关于数据库操作的问题,其中谈到了“事务”这个词,坦白讲虽然作为计算机专业的学生,在上学的时候确实知道存储过程、触发器、事务等等这些名词的概念,但是由于毕业后从事的不是服务器方面的工作,对数据库方面的知识一直停留在理论阶段,在iOS中有两种比较常用的数据库,一种是sqlite,另外一种是coreData,这二者的优缺点在这里不再赘述,如有感兴趣的同学可以查阅相关资料
2014-11-06 14:21:08
722
转载 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
662
转载 UISearchDisplayController详解
在之前做过的应用中,很多都有“搜索”这个功能,大部分情况下我都是只采用UISearchBar并结合UItableView来展示搜索结果,其 实IOS SDK中已经有自带的控件能帮助我们做好这些事,这就是UISearchDisplayController,当然这个控件也有一些不足之处,下面我就一 一道来。。首先我先讲下UISearchDisplayController的实现原理:
2014-09-27 10:06:15
1344
转载 NSCalendar日历使用详解
1. 创建或初始化可用以下方法 + (id)currentCalendar; 取得当前用户的逻辑日历(logical calendar) + (id)autoupdatingCurrentCalendar; 取得当前用户的逻辑日历(logical calendar), ...... - (id)initWit
2014-09-25 20:53:49
4385
转载 关于日期和日历的使用简介
一.NSDate的计算问题 NSTimeInterval 是一个以秒为单位的时间片。 1.可以用initWithTimeIntervalSinceNow方法传入一个NSTimeInterval对象,创建一个NSDate对象。 NSDate * tomorrow =[[NSDate alloc]initWithTimeIntervalSinceNow:24*60
2014-09-25 20:26:10
976
原创 从xcode 6 上传至 App Store
2014年苹果大会结束,ios8发布,可怜的苹果开发者又要开始伤脑筋了。比如提交新产品的那个iTunes connect体验就做得极烂,而且这还是本菜鸟的第一次上线提交,折寿啊一、第一步的上传截图就把我为难死了,各种不同的设备尺寸,各种上传出错 说一下各个inch下的图片规格要求: (以下讲的都是竖屏、包括状态栏的) 3.5inch(必须)
2014-09-19 11:33:11
2898
原创 安装和使用cocoaPods
一、cocoapods是什么?在ios开发中,我们一定会经常使用到各种各样的第三方开源库,可能你使用的开源库A会依赖到另外一个开源库B,B又依赖C......如此下去,所需的类库就特别多。而且,万一A更新了,B也更新了,C又更新了.....这么悲情的事,我就不继续往下说了。这个时候,你要是用了cocoapods,只需要一行命令,它就会帮你搞定这些无聊的事情。cocoapods是一个iOS的
2014-09-17 22:23:44
1655
1
原创 UITabBarController(一)
今天去面试,被问了一个问题:页面切换的方式有哪几种,UITabBar是如何切换页面的。哎,因为做了太多ipad的应用,就忘记了UITabBarController的使用,真是致命!!!UITabBarController在绝大多数iphone应用中都是要用的啊,起着整体页面布局的作用啊!有木有!!! 巧合的是,突然在混乱的桌面上看到一个page文档,写着《分页控制器》,既然如此就整
2014-09-02 21:49:08
1814
转载 手把手教你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
662
原创 UISplitViewController基本使用方法
下午下了个popover的示例代码,里面刚好用到了UISplitViewController,一直没太怎么用这个东西,所以就好好整理巩固一下吧。1、几个重要属性(其实真就只有这么几个)(1)viewControllers属性,类型NSArray。这里面放了两个UINavigationController对象的引用,第0个是UISplitViewController的master菜单控制
2014-08-28 21:59:24
3338
原创 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
984
转载 MRC工程转ARC工程小记
春节前抽空花了一天的时间将手头的工程从MRC转成了ARC,然后陆陆续续地修复一部分因为转ARC引起的内存泄漏和崩溃,到目前为止工程也算是比较稳定了,抽空记上一笔。(虽说这种事情这辈子估计都只会做这么一次了,但是可以留点经验给后来的童鞋)这个工程启动于12年底13年初,一开始人手少工期短,需要尽快地出demo,同时抱着对面世才一年多的ARC不太信任的态度沿用了最熟悉的MRC。但是随着工程投入
2014-08-26 10:59:15
1070
转载 MKNetworkKit: 网络处理又一利器
没有认识MK之前,即便ASI已经不再更新,也没有启用ASI。因为ASI对于网络的处理更偏向于底层,适合针对各种情形的扩展。但是,今天我要开始使用 MKNetworkKit了,项目在github上,使用说明在作者的主页上。之所以推荐这个项目,除了它列举的功能之外,更重要的在于它完全是MVC的设计思想。相对于代码,背后的设计思想更让人值得回味。另外,已经有一篇中文翻译(如下),各位赶紧
2014-08-26 10:53:46
648
转载 iOS 开发:用 Instruments 来检验你的app
iOS 开发:用 Instruments 来检验你的app编者注:或许很多人对 Instruments 应用不太了解,但可能很多老的 iOS 开发者都应该用过 Instruments 工具来检测iOS应用内存泄漏情况。特别是在iOS 5.0之前,即苹果在iOS平台上面还没支持ARC的时候,写iOS应用就类似C语言那样,容易忘记释放内存,而内存对移动设备而言是非常可贵的。入门
2014-08-25 23:46:29
991
转载 iOS应用性能调优的25个建议和技巧
写在前面本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员。这是他的个人网站:http://www.marcelofabri.com/,你还可以在Twitter上关注@marcelofabri_。性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论。然而
2014-08-25 23:19:44
722
原创 疑难点积累(二)
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
868
转载 利用Quartz 2D实现图片的旋转、缩放、裁剪
本文将为大家介绍常见的IOS图像处理操作包括以下四部分:旋转,缩放,裁剪以及像素和UIImage之间的转化,主要使用的知识是quartz2D。Quartz2D是CoreGraphics框架中的一个重要组成部分,可以完成几乎所有的2D图像绘制,处理功能。跟window编程中GDI的功能一样,而且很多概念都差不多。 一、图像旋转 图像旋转是图像处理过程中一中常见操作,按照旋转
2014-08-25 10:27:53
2170
转载 (译)OpenGL ES2.0 – Iphone开发指引(二)
添加shaders:顶点着色器和片段着色器 在OpenGL ES2.0 的世界,在场景中渲染任何一种几何图形,你都需要创建两个称之为“着色器”的小程序。 着色器由一个类似C的语言编写- GLSL。知道就好了,我们不深究。 这个世界有两种着色器(Shader): ·Vertex shaders – 在你的场景中,每个顶点都需要调用的程序,称为“顶点着色器”。假如你在渲染一个简
2014-08-24 13:56:48
1038
转载 (译)OpenGL ES2.0 – Iphone开发指引(一)
原文链接地址:http://www.raywenderlich.com/3664/opengl-es-2-0-for-iphone-tutorial 免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作! ps:非常感谢skingTree为
2014-08-24 13:13:55
819
原创 UIViewController各方法的调用顺序
1、调用[self.navigationControllerpopViewControllerAnimated:YES]
2014-08-22 11:58:49
1090
转载 不规则截图的实现
效果如下图: 首先,在工程Bundle中加入测试用的图片文件,比如“meteoralp.jpg”。 首先,我们需要把图片展示在界面上。很简单的操作,唯一需要注意的是由于CGContextDrawImage会使用Quartz内以左下角为(0,0)点的坐标系,所以需要使用CGContextTranslateCTM函数和CGContextScaleC
2014-08-22 11:35:00
1434
原创 实现ios常见菜单效果的思路
目前见过的实现边侧菜单的效果,比较流行的有以下三种:(效果图)1、菜单栏覆盖在部分主视图上附上实现该效果的一个不错的源码地址:http://code4app.com/ios/RNFrostedSidebar/524399706803fa3c33000001(1)最开始要实现这个效果,我想最简单的方式就是:添加UIView,加上一个self.view大小的子视图,菜单
2014-08-21 23:58:34
1687
原创 UINavigationController(二)
在使用UINavigtionController的时候,经常会弄不清哪些属性是UINavigationController的,哪些属性是UIViewController的。而且在更改导航栏和工具栏的样式的时候,经常会于遇到api使用下去没有效果的情况。总之,一直用得比较混乱,今天要好好做一个总结,把那些常用的功能都搞清楚。一、如何往导航栏和工具栏添加按钮1、navigationIt
2014-08-20 13:17:37
1501
转载 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
1481
原创 新浪微博开放平台之OAuth2.0认证
1、先到开放平台创建一个移动应用,获得key和secret,接着到“应用信息”里面填写授权回调页的网址,该网址可以任意,但是必须是能访问的。2、通过新浪提供的api:https://api.weibo.com/oauth2/authorize去请求授权获得授权登录页面(网页形式),然后填写你的新浪微博账号,提交。参数:client_id即appkey,redirect_uri即
2014-08-18 23:42:21
2015
转载 iOS CoreBluetooth 教程
===============Demo下载地址:http://download.youkuaiyun.com/detail/jimoduwu/7146875================================Core Bluetooth for iOS 6CoreBluetooth的API是基于BLE4.0的标准的。这个框架涵盖了BLE标准的所有细节。仅仅只有新的i
2014-08-15 16:27:05
657
转载 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
693
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人