随意细解:UI -- UIView及其子类

创建window

在创建window的时候,需要指定window的⼤⼩。通常window的⼤⼩(frame)与屏幕(UIScreen)⼤⼩⼀致。这里还是使用MRC模式来练习。

重写dealloc方法:

- (void)dealloc
{
    [_window release];
    [super dealloc];
}

创建window时使用autorelease:

self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];

UIView

代表屏幕上的⼀个矩形区域,iOS中所有能看到的内容都是view或其⼦类。

创建步骤

  1. 开辟空间并初始化视图

    UIView *view = [[UIView alloc]initWithFrame:CGRectMake(120, 100, 200, 50)];
    
  2. 对视图做一些设置 (比如:背景颜色)

    view.backgroundColor = [UIColor yellowColor];
    
  3. 将视图添加到window上进行显示

    [self.window addSubview:view];
    
  4. 释放视图对象

    [view release];
    

frame

frame是⼀个结构体,包含2部分内容:origin和size。origin也是⼀个结构体,包含2部分内容:x和y。size同样是⼀个结构体,包含2部分内容:width和height。frame的origin和size是相对于⽗视图来说的。

center

center是个结构体,包含2个部分:x和y。
center.x = frame.origin.x + frame.size.width/2;
center.y = frame.origin.y + frame.size.height/2;

bounds

bounds 边界 可以控制子视图的坐标系, 默认的bounds 就是从(0,0)点开始, 改变父视图的bounds 相当于改变子视图的坐标系(也就是原点坐标), 父视图是不会发生变化,只是更改子视图的位置。

view1.bounds = CGRectMake(10, 10, 100, 30);

(子视图的原点坐标,相对来说向左移10,向上移10。word版自制图片:)

frame、bounds、center之间的联系

这里写图片描述

这里写图片描述

这里写图片描述

常用方法

  • insertSubview:atIndex:
    在指定的index处插⼊⼦视图
    示例:[superview insertSubview:View atIndex:1];

  • insertSubview:aboveSubview:
    在指定的视图上⾯添加⼦视图
    示例:[superview insertSubview:grayView aboveSubview:redView];

  • insertSubview:belowSubview:
    在指定的视图下⾯添加⼦视图
    示例:[superview insertSubview:grayView belowSubview:redView];

  • bringSubviewToFront:
    把指定的⼦视图移动到最前⾯
    示例:[superview bringSubviewToFront:redView];

  • sendSubviewToBack:
    把指定的⼦视图移动到最后⾯
    示例:[superview sendSubviewToBack:redView];

  • exchangeSubviewAtIndex: withSubviewAtIndex:
    交换两个指定索引位置的⼦视图
    示例:[superview exchangeSubviewAtIndex:0 withSubviewAtIndex:2];

  • removeFromSuperview
    从⽗视图上移除
    示例:[View removeFromSuperview];

重要属性

这里写图片描述

UILabel

显⽰⽂本的控件。UILabel是UIView⼦类,是能显⽰⽂字的视图。UILabel是具有特定外观特定功能的视图,侧重于⽂本的呈现。创建过程与UIview相同。

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值