第一章,关键点是记住ios的开发是有限资源的开发,他安全不同于mac电脑的开发。他与主要的mac电脑开发之间的差别有:
- 一个应用程序
- 一个窗口
- 访问的资源受限
- 响应时间不得超过5秒
- 屏幕大小有限
- 系统资源,如内存使用受限,不提供虚拟内存方式,当系统内存不够用时,直接给出告警。
- 不支持垃圾回收机制
第二章,关键点
- nib文件当中的FILE OWNER,表示从磁盘加载nib文件的对象。
- iphone应用程序的图标是57*57的png图片,注意如果命名为icon.png那么系统会默认为应用程序的图标的。
- bundle identifier,这个是应用程序的唯一标识。通常格式为com.apple.yourcompany
第三章,关键点
- IBOUTLET的填写位置。其实你写在变量定义当中,和写在属性声明当中,大多数情况下是一致的。但是根据苹果官方的建议,是将IBOUTLET写在属性声明当中,如:@property (retain,nonautomic) IBOUTLET NSString * mystring;
- NSString *newText = [[NSString alloc] initWithFormat:@"%@ button pressed",title],这种声明需要使用[newText release]进行配对使用。
- 而NSString *newText=[[NSString stringWithFormat:@"%@ button pressed",title],这种声明称之为工厂方法,这种方法返回的是一个autorelease的对象,因此不需要显示的release 去释放。
- 属相窗口当中的一些属性说明,mode属性,是调整位置,alpha属性是调整VIEW视图的下边的背景的透明度,tag属性是一个函数处理多个button时需要通过tag进行区分。opaque属性是背景是否重绘的设置,不透明通常是说背景不绘制。Clip subview属性是说在主view当中的子view才可以重绘,还是子view都从新绘制。use interaction enabled,是说控件是否可以触发,multiple touch属性是说控件是否支持多点触控。
第四章,关键点,本章讲解了大部分控件的使用方法,因此该章节,将通过区分控件的方法进行描述。
- textfield当填写完内容之后,如何关闭弹出的键盘?通过相应Did End On Exit事件,然后添加如下代码:【sender resignFirstResponder】,当希望点击uiview控件空白处时,推出键盘,需要修改uiview类为uicontrol并相应事件touch down事件,添加上述同样的代码就可以。
- slider的控制,是只需要响应事件选择value changed方法进行滑块的控制。
- 开关控件UISwitch,也是响应事件,value changed,UISegmentedControl控件响应的是value changed事件,uibutton响应touch up inside事件。
- UIAlertview和UIActionsheet
- 自定义按钮的方法。可以为button设定图像,只需要在nib中调整button的属性,从round rect调整为custom,然后指定png图片即可。也可以通过代码实现,比如可以使用UIImage的stretchableImagewithleftcapwidth:12,这里有一个较多端冒的概念,叫end cap。
- 需要在viewDidUnload函数当中将nib加载的对象,释放,即self.nameField = nil 的方式去释放内存,这样可以达到比较好的内存利用效率。
提示:command+option+向上箭头,完成。h和。m的转换
按住option,拖动控件,可以完成相同控件的多次添加。
第五章,关键点,在iphone和ipad当中实现旋转功能。实现方法有三种
- 使用自动调整属性的设计界面,即IB中的size属性调节
- 旋转时重构视图,也就是将控件的位置,通过自定义位置的方式修改每个控件的frame属性得到。
- 切换视图的方法,这样的做法非常复杂,因为你要提供两种模式的视图,横向视图和纵向视图,而且当两种视图当中存在相同的响应方法时,就需要增加代码的工作量。但是对于及其复杂的情况,还是可以使用的,该方法主要相应在函数willAnimatieRotationToInterfaceOrientation函数当中,这是一个新方法,发生在旋转开始之后,旋转真正发生之前。使用到了self。view。transform,以及self。view。bounds