UIKit通过封装Core Animation实现了一些常用的动画效果,用起来非常方便。使用的方法是通过UIView来声明一个动画块,在这个块中做的任何属性变化,都会呈现动画效果。 具体的语法上有两种写法,这里讲的是老式的写法,IOS4.0后的新写法请参考文档,基本的思路是一样的。具体可以看这个:http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/AnimatingViews/AnimatingViews.html 先说明几个基本的概念,方便理解后面的函数。 Read More
posted @ 2011-01-26 12:30 hjtc Views(6701) Comments(1) Diggs(1) Edit
mac:command + option + esc - 任务管理器command +f3 - 显示桌面command + shift + 3 - 桌面截图command + shift + 4 - 截取矩形delete - backupshift + delete - forwardcommand + m - 隐藏窗口command + h - 缩小窗口command + option + 电源键(推出键) - 强制重启,没有提示command + shift + q - logoutf4 - dashboard 设置城市,只要按一下右下角的i杀死进程:top - 获 Read More
posted @ 2011-01-24 17:52 hjtc Views(2863) Comments(0) Diggs(0) Edit
天杀的GUI,所有程序要都是命令行的多好~~ :)根据官方的一个hello world例子,折腾了好几个小时,才弄明白。例子是不错的,写的非常阳春,没有多余的废话,初学者看看把:http://www.apple.com.cn/developer/iphone/library/documentation/iPhone/Conceptual/iPhone101/Articles/00_Introduction.html#//apple_ref/doc/uid/TP40007514-CH1-SW1几个操作的小技巧,给像我这样的菜鸟,在IB里按住control 点控件可以打开事件列表,commad + Read More
posted @ 2011-01-19 15:27 hjtc Views(536) Comments(0) Diggs(0) Edit
痛恨MFC很多年了,有碰上这种点两下鼠标程序就能跑的东西,心里那个烦啊~~~:-(没辙谁让对于移动开发,咱还是新兵呢,这拖拖控件,点点鼠标的事,只好再上了。这里以windows-base的程序为例子来说明一个IOS程序的初期化过程:程序入口:首先,程序的入口函数还是main,看other resource里的main.m。这里它默认调用UIApplicationMain这个系统函数。解析plist文件和mainWindow.nib:这是程序的配置文件,包括程序在IPhone里显示的名称,和main nib文件的名称。通过UIApplicationMain这个入口,框架会解析这个plist文件, Read More
posted @ 2011-01-19 13:47 hjtc Views(850) Comments(0) Diggs(0) Edit
如何使用?这里只是记录下如何使用的语法规则,至于类别的优缺点,使用场景,等等细节,sorry。。不知道 yet :)基本上你只需要声明另外一个类,并且指定你需要扩展的类,简单的,看例子:代码需要注意的是,当你在定义一个category时,不能指定新的实例变量,即使时空的括号,也会导致编译不过,道理也很简单,category只是改变类中函数列表,是不会去改变实例变量的,也就无法增加新的变量。 Read More
posted @ 2011-01-19 09:30 hjtc Views(2093) Comments(0) Diggs(0) Edit
什么是property?是一种代码生成机制,能够生成不同类型的getter/setter函数,特别是如果你想要用点(.)操作符号来存取变量的话,你就能必须使用property。如何使用?用法是固定的,注意下property后面小括号了跟的参数列表,nonatomic代表非原子性,既不支持多线程的同步,mac上可以根据具体情况考虑,IPhone上就加上把,retain代表对setter的对象加上一个retain操作,同时也会release原有的object,copy顾名思义就是copy setter中参数的对象。看下面的例子:代码额外的内容默认的propety变量,总是可读写的,如果需要只读控制 Read More
posted @ 2011-01-18 19:34 hjtc Views(2649) Comments(0) Diggs(0) Edit
init的标准写法:[代码]object-c里这个初期化方法确实是很奇怪,self居然会在alloc 已经分配了内存之后发生变化,感觉有点无厘头:( 。object-c基础这本书里的解释是,父亲函数可以根据不同的情况,重新产生一个对象。至于子类的变量能否正确反应呢?原本生成的实例如何消灭?则还是一头雾水。基本的事实是:[super init] 有可能返回不同的对象,也有可能返回nil。只能先记住了。同上面的问题,如果使用这样的代码,是否正确呢?Car* car = [Car alloc];[car init];如果按照正常的思维,因该是正确的,alloc负责分配内存,init只是初期化值而已, Read More
posted @ 2011-01-18 16:38 hjtc Views(954) Comments(0) Diggs(0) Edit
粗略的记录下object-c的内存管理机制,有迷糊的地方也mark下,希望之后的学习能解决把。手动释放和引用计数: 熟悉windows开发的童鞋,对于引用计数应该是不会陌生的。任何“对象”(可以是类的实例,也可以是个资源)在内部会维护一个变量,称为计数器,对象初期化时,计数器初期化为1,任何对该对象的引用会使得计数器加一,同样的解引用会使得计数器减一,当计数器的值为0时,该对象销毁。引用计数使得一个资源(对象)可以在多处被使用,使用的场景类只需要关心自己什么时候需要该资源,什么时候不需要。 在object-c中使用管理对象的生存期,可以使用下面的这些函数: retain - 计数器加一 re Read More
posted @ 2011-01-16 12:53 hjtc Views(1819) Comments(0) Diggs(1) Edit
在object-c基础教程这本书里老是可以看见类似下面这种代码,我这小菜鸟就纳闷了,啥区别啊,看上去都一样么。网上找了找,找到一些说法,这里先摘出来。 someClass* object = [someClass new];or someClass* object = [[someClass alloc] init];其实是一样的,某位老兄是这样说的,new在内部调用的alloc和init,Actually "new" is not a keyword in Objective-C, but NSObject implements a class method "new" which simp Read More
posted @ 2011-01-15 16:53 hjtc Views(4085) Comments(1) Diggs(0) Edit
初学咋练难免惹笑话,有错误处拍砖哈 :-)object-c中并没有提供类静态变量,只能以文件作用域的static变量代替,然后由类的成员函数来操作,这样设计的目的,还没想明白,先mark下以后再说把。下面提供个例子:代码 Read More
posted @ 2011-01-15 14:11 hjtc Views(2320) Comments(4) Diggs(0) Edit