UI界面编程
- 1. UIDevice、UIScreen
- 2. UIView、 UIWindow
- 3. 坐标系
- 4. CGPoint、CGRect
- 5. frame & bounds
- 6. UIColor
- 7. tag
- 8. hidden
UIDevice 同样也是一个类,它提供了一个单例实例来代表当前的设备,在这个实例中你可以得到这个设备的指定名称、设备的模型以及它的操作系统的名称和版本。(它对应的是我们的硬件)
在UIDevice 类中最常用到的是 systemVersion 属性。
UIDevice *currentDevice = [UIDevice currentDevice];
currentDevice.systemVersion
先别看太仔细,先看视频的内容,再以后好好补全这些UI界面的详细内容。
UIScreen:
UIScreen *screen = [UIScreen mainScreen];
上面的screen对应的是硬件的屏幕,包括上部的中国电信,信号等。一般我们会通过它取屏幕的宽度、高度和坐标系(UICoodinateSpace)。
UIWindow:
一个应用程序一般只有一个window。我们看在一个应用中只有一个AppDelegate的文件,那么如何访问AppDelegate 对象呢? 如下:
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
// 接下来就可以得到应用的 window
appDelegate.window
上面这个方法很重要,一定需要掌握,以后将会经常用到!
只有上述这个方法来调用 appDelegate 这个对象,因为当我们运行应用的时候,在 main 函数中已经帮我们生成了一个 AppDelegate对象 ,所以是不能使用 alloc 再生成一个 appDelegate 对象的。
坐标系:
在 iOS 中坐标原点位于左上角,向右x增加,向下y增加。在iOS 7 之前,运营商、信号、时间、电池状态的表叫做 stateBar 宽20 point。下面的navigationBar 宽度为44 point, 它们是连在一起。那个时期,坐标原点是在 navigationBar 的左下角。但是,在 iOS 7 之后, 坐标原点就是在 window 的左上角位置,这是一个需要注意的地方。不过我们可以通过将 navigationBar 透明度设置为0,这样坐标原点就会从 navigationBar 的左下角开始计算。
oneNavigationController.navigationBar.translucent = NO;
以上默认是yes, 可以根据需要设置。
CGPoint 是点,CGRect 是矩形。
CGPoint point = CGPointMake(10,10);
CGRect rect = CGRectMake(10,10,100,200);
frame: 任何一个UIView 都需要制定 frame。在frame 中的 x 坐标 和 y 坐标都是相对于其父视图。
UIColor : 注意在apple自带的实用工具中有一个颜色提取器,蛮有趣的。
相对于使用 UIColor 的方法,简单的我们就不介绍了,现在介绍一种使用 RGB 颜色配比的方法:
UIColor *color = [UIColor colorWithRed:(CGFloat) green:(CGFloat) blue:(CGFloat) alpha:(CGFloat) ];
在 alpha的属性中 ,1 代表不透明, 0 代表全透明。在设置的时候,因为最大值是1,所以比如红色你想设置60,实际输入必须是: 60 / 255.0 。
tag: 它是一个整型的值,它是 UIView 之中的一个属性,例如我们可以给 button设置一个 tag 值。同样的,hidden 也是它的一个属性,设置为 yes 的话我们就看不见这个 UIView 了(默认值是 NO):
pushButton.tag = 100;
presentButton.hidden = YES;
仍然需要修改和补充, 未完待续!