美文网首页
10、UI界面编程基础

10、UI界面编程基础

作者: HQ今日磨墨 | 来源:发表于2015-08-01 00:56 被阅读128次

    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;
    

    仍然需要修改和补充, 未完待续!

    相关文章

      网友评论

          本文标题:10、UI界面编程基础

          本文链接:https://www.haomeiwen.com/subject/btcvqttx.html