iOS 自定义字体

1 将字体添加到工程中
2 在info.plist中的UIAppFonts(Fonts provided by application)中添加字体文件名如wqy-zenhei.ttc
2 引用字体 [UIFont fontWithName:@”字体名(非文件名)如WenQuanYi Zen Hei” size:fontSize]

支持的字体形式:
TrueType-flavoured OpenType (extension .ttf)和
PostScript-flavoured OpenType (extension .otf)。

iPhone Camera Spec

http://www.iphonedevsdk.com/forum/iphone-sdk-development/57664-i-need-iphone-4-camera-specifications-field-view-vertical-horizontal-angle.html

From Falk Lumo: Apple iPhone 4 camera specs

Focal length = 3.85mm
CCD Chip Size = 4.54 x 3.39 mm^2

So the FOV angles are 2*ATAN(4.54/2/3.85) and 2*ATAN(3.39/2/3.85). => 61 degrees and 47.5 degrees.

For the iPhone 2, 3g and 3gs (from http://ideenecke.blogspot.com/2009/0…-camera.html):

Focal length = 3.85mm
CCD Chip Size = 3.56 x 2.68mm^2

=> FOV angles: 49.6 and 38.4 degrees

Note that the aspect ratio of the camera CCD is ~1.33, while the iPhone screen has an aspect ratio of 1.5. So if you maximize your camera image without cropping, you would not completely fill the vertical range of the iPhone screen. In the iPhone camera app, the remaining open space is simply filled by the camera status bar.

UML for ObjC

ObjC 中的 Category 是对类的扩展,它不能添加属性到类中,但可以为现有的类添加方法。在UML中以«category»并在盒子底部加上加阴影来表示。通常Category的名称体现了被扩展类的类名,如一个对NSArray做扩展的MyExtensions category通常叫做NSArray_MyExtensions.

ObjC 中的 Protocol 定义了一组可以被任意类实现的方法。Protocol 仅定义方法不定义成员变量。Protocol可以用 UML中的interface对象来表示,标记«protocol»。Protocol 的名字通常有”Protocol_”前缀。

关系

  • generalization表示机继承关系
  • aggregation  表示一个category其父类的一部分
  • realization 表示类实现了哪个接口
  • dependency 表示类使用接口
图中A为C的父类(generalization),C类有一个扩展C_B(aggregation), C实现了Protocol_D(realization), E依赖于Protocol_D(depedency)
从外部引入的类可以在左下角标记“…”来省略类的成员变量和方法。
ref: