UIView和UILabel

作者: ly渐行渐远 | 来源:发表于2015-11-24 20:35 被阅读817次

    UI学习

    UIView

    UIWindow: window是窗口,每个app都需要借助window将内容展现给用户看。在iOS中,使用UIWindow类来表示窗口,通常一个应用程序只创建一个UIWindow对象。window的主要作用是呈现内容给用户,我们不会对window做太多操作。
    view(视图):代表屏幕上的一个矩形区域。iOS中用UIView来表示视图,各种UI控件都属于view。不同的控件代表不同种类的view。iOS中所有能看到的内容都是view或其子类。
    创建视图的步骤如下:
    1、开辟空间并初始化视图(初始化时,给出视图位置和大小)
    2、对视图做一些设置(比如:背景颜色)
    3、将视图添加到window上进行显示
    4、释放视图对象
    视图创建的代码:

     UIView *blueView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 200,   200)];
     blueView.backgroundColor = [UIColor blueColor];
     [self.window addSubview:blueView];
     //[blueView release];//MRC下需要加上这行代码
    

    view常用的属性:

    frame:决定了视图的大小和位置。frame是一个结构体,它里边存放了视图的origin(位置)和size(大小)。origin和size也是结构体,origin里边存放了视图的起始点坐标(x,y),size里边存放了视图的宽和高(width,height)。一般给frame赋值时用CGRectMake()函数。
    blueView.frame = CGRectMake(0,0,300,300);

    center:决定视图中心点的位置 centre是一个结构体里边存放视图中心点的坐标(x,y),修改center的值,视图会跟着移动
    blueView.center = CGPointMake(100,100);

    bounds:视图的边界值和frame一样,修改边界值不会影响本视图的位置,会影响其子视图的位置。如下:其子视图的左上顶点会和其左上顶点重合

    blueView.bounds = CGRectMake(100,100,300,300);
    UIView *greenView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 120,   100)];
    greenView.backgroundColor = [UIColor greenColor];
    [blueView addSubview:greenView];
    

    hidden:控制视图的显隐

    greenView.hidden = YES;//隐藏greenView
    greenView.hidden = NO;//显示greenView
    

    alpha:控制视图的透明度(子视图也一起透明),取值范围0~1,0是透明,1是不透明
    blueView.alpha = 0.8

    userInteractionEnabled:控制视图的交互性,YES允许交互,NO不允许交互
    greenView.userInteractionEnabled = YES;

    superview:获取本视图的父视图
    UIView *superView = [redView superView];

    subviews:获取本视图的所有子视图
    NSArray *subviews = [blueView subviews];

    tag:给视图添加标记,被加完标记的视图可以使用viewWithTag:方法取出

    redView.tag = 100;
    UIView *view = [superview viewWithTag:100];
    

    UIView管理视图层次常用的方法

    bringSubviewToFront:把指定的子视图移动到最前面
    [self.window bringSubviewToFront:redView];

    sendSubviewToBack:把指定的子视图移动到最后面
    [self.window sendSubviewToBack:redView];

    exchangeSubviewAtIndex:withSubviewAtIndex:交换两个指定索引位置的子视图
    [self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:2];

    removeFromSuperview:把receiver从父视图上移除
    [redView removeFromSuperview];

    UILabel

    UILabel继承与UIView类,UIView的所有属性和方法UILabel都可以使用,UILabel就是文本显示框,上面呈现的内容位字符串对象。
    创建UILabel和创建UIView的步骤相似,1、开辟空间并初始化(如果本类有初始化方法,使用自己的;否则使用父类的)。
    2、设置文本控制相关的属性
    3、添加到父视图上,用以显示
    4、释放

    UILabel *userNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(30, 100, 100, 30)];
     userNameLabel.text = @"用户名";
     [containerView addSubview:userNameLabel];
     //[userNameLabel release];//MRC是需要加上这行代码
    

    UILabel的常用属性

    text:要显示的文本内容
    label.text = @“用户名”;

    textColor:文本内容的颜色
    label.textColor = [UIColor redColor];

    textAlignment:文本的对齐方式(水平方向),其取值是一个枚举值(常用的有居中,居左和居右)
    label.textAlignment = NSTextAlignmentLeft;

    font:文本字体
    label.font = [UIFont fontWithName:@“Helvetica-Bold” size:20];//黑体加粗,20号字。

    numberOfLines:行数,label的高度要能容纳所对应的行数。如果所对应的行没能显示完信息,没显示的信息以省略号代替。
    label.numberOfLines = 3;//显示3行

    lineBreakMode:断行模式,其值是一个枚举值
    label.lineBreakMode = NSLineBreakByWordWrapping;//以单词为单位换行

    shadowColor:设置字体颜色
    label.shadowColor = [UIColor yellowColor];

    shadowOffset:设置偏移量
    label.shadowOffset = CGSizeMake(2, 3)//阴影向x正方向偏移2,向y正方向偏移3

    相关文章

      网友评论

      本文标题:UIView和UILabel

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