参考资料:iOS7应用开发入门经典(第五版)
第五章–第八章
第五章 探索Xcode Interface Builder
1、Option + Command + 5 // IB中的大小检查器
2、设置辅助功能属性(accessibility),位于身份检查器中,Apple开发的屏幕阅读器技术Voiceover,集成了语音合成功能,可帮助用户导航应用程序。要启用它,必须在设置->通用中启用辅助功能。
3、阅读以下4个Apple文档。
Cocoa Auto Layout Guide
Xcode Overview: Build a User Interface
iOS Human Interface Guidelines
Accessibility Programming Guide for iOS
第六章 模型-视图-控制器应用程序设计
4、Core Data 抽象了应用程序和底层数据存储之间的交互。它还包含一个Xcode建模工具,该工具像IB一样可帮助你设计应用程序,但不是让你以可视化方式创建界面,而是让你以可视化方式建立数据结构。
简单项目一般不用Core Data。就简单项目而言,使用Core Data犹如用大锤钉图钉。
5、AppDelegate.h和AppDelegate.m组成了该项目将创建的UIApplication实例的委托,你可修改委托,在启动时执行应用程序级设置、告诉应用程序进入后台时如何做以及应用程序被迫退出时该如何处理。
6、加载故事版文件时,将实例化应用程序的视图控制器和初始视图。
7、成功的项目始于成功的规划和设置。
* 1 * 确定所需的实例变量,哪些值和对象需要在类的整个生命周期内都存在。
* 2 * 确定所需的 IBOutlet 和 IBAction,哪些实例变量需要连接到界面中定义的对象。
* 3 * 创建相应的属性。如果属性表示的是一个界面对象,还应在声明它是包含关键字 IBOutlet
8、阅读Cocoa Design Patterns文档学习设计模式。
第7章 使用文本、键盘和按钮
9、对于只用于触发操作的UI元素,不需要有相应的IBOutlet,然而,对于应用程序要操作的对象(如设置标签、颜色、大小、位置等),则需要为其定义IBOutlet和相应的实例变量/属性。
10、使用切割技术制作按钮模板
* 1 * 添加图像到 .xcassets中
* 2 * 选中图像,单击Show Slicing
* 3 * 然后进行切割。
水平线条决定了垂直切割设置,而垂直线条决定了水平切割设置。
每个方向共3条线,第一条和第二条线代表切片,对于图像拉伸之后,空白像素的地方用切片填充;第二条和第三条线代表替换区域,用切片进行替换。如果不想被替换,只需让第二条和第三条线紧挨着就OK。
11、清除按钮( clear button , 位于属性检查器中) 是一个加入到文本框中的 ’ x ‘图标,用户可通过轻按它快速清除文本框的内容。
12、Keyboard属性:设置一个预定义键盘来提供输入。数字键盘等等。
13、Return Key:有4种, Done、Search、Next、Go
14、数据检查器(Data Detector),可以对文本中的内容识别出电话号码、链接等等。
15、滚动条的反弹效果, bounce属性。
16、在iOS应用中,隐藏键盘。
通过按Return Key隐藏键盘,具体方法
创建outlet UITextField *text;
创建action hideKeyboard:(id)sender;//Event为Did End on Exit
在action中编写代码 [self.text resignFirstResponder];
通过触摸背景隐藏键盘,具体方法
创建一个大型的不可见的按钮并将其放在所有控件的后面,再将其连接到前面的hideKeyboard方法中。
17、所有的UI元素都是从UIControl、UIView、UIResponse派生而来的。
18、阅读Apple提供的示例项目UICatalog,它几乎包含了所有iOS UI控件。
第八章 处理图像、动画、滑块和步进控件
19、动画是使用一系列图像创建的。
20、通过将一个按钮设置为outlet,可轻松的再代码中设置按钮的标题,通过设置该outlet,可在按下按钮时,对按钮的标题进行变换。
21、要显示动画,需要创建一个包含所有帧的数组,并以编程方式将其提供给图像视图对象。共需设置2个属性。
@property(nonatomic, copy) NSArray *animationImages
@property(nonatomic) NSTimeInterval animationDuration
然后调用方法- (void)startAnimating
要停止的话,调用- (void)stopAnimating
22、如果要提供垂直版的滑块(UISlider),怎么办?
可对水平滑块进行变换(就是在代码中对其进行旋转)。例如,如果表示滑块的属性为mySlider,则可在viewDidLoad中添加如下代码,将其变成垂直滑块。
CGAffineTransform transformSlider = CGAffineTransformMakeRotation (-M_PI_2);
self.mySlider.transform = transformSlider;