屏幕分辨率:
i4/4s 屏幕分辨率为 320*480点 3.5-inch i5 320*568 点 4-inch
要获悉实际分辨率,必须乘以设置的缩放因子。
(i4,4s,5 缩放因子都是 2)
因此 4/4s 像素分辨率都是 640*960 像素 i5 /i5s 都是 640*1136
ipad 非retina 1024*768 retina2048*1536
应用程序图标:
iphone 非Retina 57*57 3.5-4 英寸 Retina 114*114
ipad 非Retina 72*72 Retina 144*144
启动图像 PNG文件 大小英语设备的屏幕分辨率相同
Xcode 选择生成时 设置 development target 为 6.0 那么 生成 项目文件就有 iOS6.0 的屏幕了
还有 将生成的APP移到 打开的ITUNES软件中,然后再移动出来就得到了 IPA 包 而越狱的可以直接安装
iphone 技术层:
Cocoa Touch
多媒体
核心服务
核心OS
OC 基础:
@property (weak, nonatomic) NSString *myString ;
用于简化与接口中定义的实例变量的交互方式
实例方法用 + 类方法用-
+(NSDate) myInstancemethod:(NSString *)aString anotherParam:(NSURL *)aURL;anotherParam是简短描述标签
id oc 的特殊类型,可以引用任何类型的对象
NSDictionary *myDictionary = @{@"beijing":123,@"sichuan":234,@"hunan":345};
myDictionary[@"sichuan"] 访问 sichuan的数字
NSNumber/NSDecimalNumber 可以加入到数组,字典中
NSNumber *a = @123; NSNumber *b = @123.123f;
NSDate
学习 Interface Builder (IB) 不仅是一个图形用户界面绘画工具,不编写任何代码的情况下添加应用程序功能
xib/nib 就是 故事板场景
@property 实例变量存储可在类的任何地方使用,所有类都能访问
属性是另一种访问实例变量的方式,每个属性都有对应的实例变量,例如
@property (weak, nonatomic) NSString *myString; //名为_myString 的实例变量,属性为myString,引用使用self.myString
属性由 对象.xxx调用 实例方法为 对象 xxx 调用 eg:
将控件按着ctrl 拖进 模板中就可以添加 对象
调试时可以下 条件断点 下断后 右键设置参数
现象:在xcode中调试程序的时候,无论是鼠标指在变量上,还是在gdb中po命令都看不到内存中变量的值。
解决办法:在Project的Build中把 Optimization Level 设置成 None 即可。
xcode 编码区设置背景颜色的方法: "command + , "
多个故事版 想要退出,2th -> 1th 那么 2th 中的 button 指向1th 的Exit 图标,并在1th中创建 exitToHere方法
- (IBAction)exitToHere:(UIStoryboardSegue *)sender{
}
多个故事版中输入数据,传递数据
((ViewController *)self.presentingViewController).emailLabel.text = self.emailField.text;
//在新创建的类中写入数据
self.emailField.text = ((ViewController *)self.presentingViewController).emailLabel.text;
ipad
//在1th 上写 将2th的文本设置为1th的静态文本内容
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
UIStoryboardPopoverSegue *popoverSegue;
popoverSegue = (UIStoryboardPopoverSegue *)segue;
UIPopoverController * popoverController;
popoverController = popoverSegue.popoverController;
popoverController.delegate = self;
EditorViewController * editorVC;//方法1
editorVC = (EditorViewController *)popoverController.contentViewController;
editorVC.emailField.text = self.emailLabel.text;
EditorViewController * editorVC2;//方法2
editorVC2 = (EditorViewController *)segue.destinationViewController;
}
iPad 取消弹出框后获取2th的文本内容
//先包含协议
@interface ViewController : UIViewController <UIPopoverControllerDelegate>
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController{
NSString * newEmail = ((EditorViewController *)popoverController.contentViewController).emailField.text;
self.emailLabel.text = newEmail;
}