
iPhone / iPad
hou_cocoa
这个作者很懒,什么都没留下…
展开
-
Cocoa、Foundation、UIKit、Objective-c、XCode、Interface Builder的概念
<br />Cocoa<br />是在Mac OS X系统上原生的一个编译环境。他包含两个框架,其实就是一系列的类库,Foundation和AppKit。<br />在你的iPhone等掌上设备上,使用的则是他的一个子类 - Cocoa Touch。他所支持的Foundation框架与Cocoa相同,但他的用户图形类库为UIKit,它是为掌上设备特殊设计,提供了你设备上的界面。<br />Cocoa Touch与Cocoa一个比较鲜明的区别就是Cocoa Touch并不支持垃圾回收机制,这就意味着你必须在你原创 2011-02-16 10:56:00 · 8020 阅读 · 2 评论 -
一段关于带阴影的UIView切圆角的代码
self.contentView.layer.borderWidth =1; self.contentView.layer.cornerRadius = 10; self.contentView.layer.borderColor= [[UIColor colorWit原创 2011-08-09 09:29:32 · 2260 阅读 · 0 评论 -
iOS上获取文件md5的方法
由于移动设备的内存有限需要处理文件时就得格外小心以下是段将文件分块读出并且计算md5值的一段函数#import NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:原创 2011-08-02 19:45:54 · 9462 阅读 · 4 评论 -
自定义UITableView的header颜色
很简单的一段代码在UITableViewDelegate回调中- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *header转载 2011-07-21 17:18:26 · 1917 阅读 · 0 评论 -
Notification基本操作
基本的思想就是一个接收信号,将信号分发给不同相应对象和方法的一个过程。1 首先要获得一个NSNotificationCenter的单例。 NSNotificationCenter *ntfCenter = [NSNotificationCenter defaultCenter];2 在 NSNotificationCenter 中增加观察者 [ntfCenter addObserver:self selector:@selector(getNtf) name:@"chgValue" object:self]原创 2011-04-20 10:25:00 · 905 阅读 · 0 评论 -
记一次保存UIWebView的缓存经历(二)
<br />上篇文章写了点命令行操作SQLite和一些SQLite的C函数。<br />虽然当时把UIWebView归档至NSData,并且存入SQLite,之后再进行反序列化的想法失败了。<br />但是对于一般的对象,这个方法还是可以保存所需对象的成员变量。<br /> <br />1. 对象归档<br /> 1.1 实现NSCoding接口<br /> 需要被归档的类需要实现NSCoding接口,和- (void) encodeWithCoder:(NSCoder *)aCoder原创 2011-04-20 09:54:00 · 2136 阅读 · 0 评论 -
使UITableView中的UITableViewCell居中显示
<br />默认的UITableView中的UITableViewCell是顶端从上至下按顺序排列显示的。<br />如果只有一个UITableViewCell就会显得不太匀称。而且没有相应的property。<br />解决方法是建立一个UIView,设置成表格顶端的view,配置好UIView的高度就OK了。<br /> <br />CGFloat headerHeight = (tableView.size.height - tableView.rowHeight * [tableView numbe原创 2011-04-21 09:50:00 · 8279 阅读 · 0 评论 -
记一次保存UIWebView的缓存经历(一)
最初的想法很单纯,认为UIWebView调用loadRequest之后进行归档,保存成NSData,然后存在数据库里,当需要调用缓存的时候就将它读取出来进行反序列化。忙乎了一天,发现反序列化出来的对象并不包含上次所显示出来的内容。看来归档的时候,并不会将当前显示页面的内容归档进NSData中,不过这次倒腾也学到了几个东西。1. SQLite的使用 1.1 使用终端命令 在mac根目录下的usr/bin/,有个可执行文件sqlite3。可以在终端用他创建数据库,建表,插入数据等等原创 2011-04-13 14:31:00 · 3663 阅读 · 0 评论 -
viewDidUnload释疑
init方法在init方法中实例化必要的对象(遵从LazyLoad思想)init方法中初始化ViewController本身loadView方法当view需要被展示而它却是nil时,viewController会调用该方法。不要直接调用该方法。如果手工维护views,必须重载重写该方法如果使用IB维护views,必须不能重载重写该方法loadView和IB构建viewviewDidLoad方法重载重写该方法以进一步定制view在iPhone OS 3.0及之后的版本中,还应该重载重写viewDidUnloa转载 2011-05-27 16:40:00 · 1238 阅读 · 0 评论 -
"_OBJC_CLASS_$_UIMainKpiXML", referenced from:错误
<br /><br />今天遇到个错误,挺莫名其妙。<br />"_OBJC_CLASS_$_UIMainKpiXML", referenced from:<br />objc-class-ref-to-UIMainKpiXML in MainViewController.o<br />ld: symbol(s) not found<br />collect2: ld returned 1 exit status<br />google了一下,单击报错的类,在右上角的那个窗口,把target栏的对钩点上就O原创 2011-03-31 15:26:00 · 6102 阅读 · 1 评论 -
NSString 转 NSDate
<br />NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateFormat:@"yyyy-MM-dd"];NSString *begindate = [NSString stringWithString:@"2010-10-10"]NSDate *thisDay = [dateFormatter dateFromString:begindate];thisDay = [t原创 2011-04-01 09:37:00 · 901 阅读 · 0 评论 -
Objective-c多线程
<br /><br />iPhone 多线程<br /> 多线程在各种编程语言中都是难点,很多语言中实现起来很麻烦,objective-c虽然源于c,但其多线程编程却相当简单,可以与java相媲美。这篇文章主要从线程创建与启动、线程的同步与锁、线程的交互、线程池等等四个方面简单的讲解一下iphone中的多线程编程。<br /> <br /> 一、线程创建与启动<br /> 线程创建主要有二种方式:<br /> - (id)init; // designated转载 2011-03-23 16:59:00 · 9865 阅读 · 0 评论 -
ios中Raw文件系统常用文件夹
<br /> 1、【/Applications】<br /> 常用软件的安装目录<br /> 2、【/Applications/Preferences.app/zh_CN.lproj】<br /> 软件Preferences.app的中文汉化文件存放地方(直接修改里面的*.strings文件可以修改中文翻译,注意最后要转换成UTF-8的格式)<br /> 3、【/Library/Ringtones】<br /> 系统自带的来电铃声存放目录<br /> 4、【/Library/Wallpaper转载 2011-03-18 10:08:00 · 1669 阅读 · 0 评论 -
NSTimer实现读秒、倒计时等周期性操作
<br />self.timerSchedule = [NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(spinPicker) userInfo:nil repeats:YES]; <br />该类函数将返回一个NSTimer的实例,并且按照scheduledTimerWithTimeInterval所设定的周期(秒)调用selector所指定的函数,如需循环调用则要将repeats的参数指定为YES。<br原创 2011-03-17 17:06:00 · 2346 阅读 · 0 评论 -
Cocoa Touch的三种类的交流方式-delegate、target和notification
<br /><br />1. Delegate<br />在Cocoa Touch类对象运行的周期中,某一个时间点它会去调用一些指定类的指定函数来完成他自身所要完成的功能。这个”指定的类”,就称为这个类的委托类。”指定函数”则是一些在协议(protocal)中完定义的方法。<br />比如UITableView,在它的运行周期中,它会调用委托类的一系列函数来完成对自身的初始化工作。我们需要做的,只是指定好它的委托类,并且在委托类中实现UITableView将要调用的委托方法。那我怎么知道UITableVie原创 2011-03-11 15:31:00 · 2231 阅读 · 0 评论 -
利用xcode生成的app生成可以在iphone和itouch上运行的ipa安装包
在编译好的真机版目录下的.app文件,至于生成真机可以运行的app的方法,有两种方式,一种是交99美元获得一个证书,另外一种是破解的方式,在此不再详述,本文假设你已经生成了真机上可以运行的app包了(app包实际上是一个文件夹) 假设此安装包的名称是 hello.app,点击右键,选择 显示包内容,这样就可以打开这个hello.app文件夹了,在此文件夹中有一个info.plist文件,打开它,新增加一个名为SignerIdentity的key字段,内容为Apple iPhone OS App转载 2011-03-10 09:42:00 · 4386 阅读 · 0 评论 -
为文字增加阴影
textLabel.shadowColor = [UIColor purpleColor];textLabel.shadowOffset = CGSizeMake(1, 1);原创 2011-08-24 20:35:03 · 660 阅读 · 0 评论