您的位置:首页 > 产品设计 > UI/UE

UIView

2015-07-29 20:24 399 查看

UIView

UIWindow

创建window

window就是窗口,使用UIWindow类来表示窗口,一般情况下一个应用程序只创建一个UIWindow对象

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// 背景色
self.window.backgroundColor = [UIColor whiteColor];


UIView

View代表了屏幕上的一个矩形区域,iOS中用UIView来表示View

不同的控件代表不同种类的view

创建view的步骤

// 1.创建一个UIView对象
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];

// 2.给view设置背景色
view.backgroundColor = [UIColor greenColor];

// 3.把视图贴到窗口上
[self.window addSubview:view];

// 4.释放
[view release];
// 视图添加到父视图的数组之后,数组会增加视图的引用计数,相应的也就可在添加之后对视图进行释放


frame

frame是view得重要属性,他决定了视图的大小及其位置

代码用视图的frame属性,对视图位置大小进行重新设置

view.frame = CGRectMake(200, 100, 150, 150);

self.myView = [[UIView alloc] initWithFrame:CGRectMake(240, 240, 100, 100)];
self.myView.backgroundColor = [UIColor grayColor];
[self.window addSubview:self.myView];
[self.myView release];


一个视图可以有多个子视图,但是一个视图只能有一个父视图

// 父视图
NSLog(@"%@",windowViewTwo.superview);

// 子视图
NSLog(@"%@",self.window.subviews);

// 先创建的,先添加到subview的视图会在层级关系的最下面
// 通过父视图来管理他身上的子视图的层级关系
// 父视图把指定的视图放在最上面
[self.window bringSubviewToFront:windowViewOne];
// 父视图把指定的视图放在最下面
[self.window sendSubviewToBack:windowViewOne];


UILabel

UILabel(标签):是显示文本的控件

UILabel是UIView子类,UILabel是能显示文字的视图

创建UILabel

与创建view的方法类似

UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(35, 35, 300, 30)];
label1.backgroundColor  = [UIColor lightTextColor];
[self.window addSubview:label1];
[label1 release];


控制文本的显示

// 设置文本内容
label1.text = @"查找";
// 文本内容颜色
label1.textColor = [UIColor darkGrayColor];
// 文本的对齐方式
//  默认是左对齐,textAlignment是一个枚举类型
label1.textAlignment = NSTextAlignmentCenter;
// 字体大小
label1.font = [UIFont systemFontOfSize:20];
// 设置行数
// 默认是一行
// 设置成0是行数的最大值
label1.numberOfLines = 0;
// 让文本自己去适应label的尺寸
//    [label1 sizeToFit];
// 断行模式
label1.lineBreakMode = NSLineBreakByTruncatingMiddle;
// 阴影颜色
//    label1.shadowColor = [UIColor blackColor];
// 阴影大小
//    label1.shadowOffset = CGSizeMake(2, 1);
// 设置边框
label1.layer.borderWidth = 0;
// 设置圆角
label1.layer.cornerRadius = 10;
label1.layer.masksToBounds = YES;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: