第一次发博客,还请大家多多指教!
首先说一下UIWindow,使用UIWindow来表示窗口,一般一个应用程序只创建一个UIWindeow的对象.它相当于一个地基,所有的其他的UI控件都是在它上面构成.
一 UIView
UIView代表屏幕上的一块矩形区域,是一种视图,iOS中所能看到的东西都是UIView或其子类.
1.创建UIView
开辟内存初始化,这里frame:后面是指创建的UIView的大小和位置,CGRect是一个结构体,它后面括号里的4个数字分别表示UIView的左上角(原点)的横坐标,原点的纵坐标,UIView的宽,UIView的高
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];
2.设置视图的背景颜色
UIView.backgroudColor = [UIColor redColor];
3.将视图加到父视图上面
[self.window addSubview: view];
4.内存释放
[view release];
5.视图的一些其他操作
(1)获取view的父视图
UIView *view1 = [view superview];
(2)获取window的所有子视图
NSArray *arr = [self.window subviews];
(3)将子视图放到最后面,父视图是操作人,子视图是被操作的
[self.window sendSubviewToBack:view];
同理,放到最前面为:
[self.window bringSubviewToFront:view];
(4)按下标交换2个视图的位置
[self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
(5)从父视图中移除
[view removeFromSuperview];
(6)按下标在指定位置插入
[self.window insertSubview:cView atIndex:0];
在bView视图前插入aView
[self.window insertSubview:aView aboveSubview:bView];
在cView后面插入aView
[self.window insertSubview:aView belowSubview:cView];
6.视图的一些属性
(1)重新设定视图的frame,子视图的原点的设定是相对于父视图的原点而设定的,
view1.frame = CGRectMake(50, 50, 100, 100);
(2)视图的中心点
view1.center = CGPointMake(30, 30);
(3)透明度,默认为1,改变它对其子视图无影响
view.alpha = 0.5;
(4)将视图隐藏,默认为NO
view1.hidden = YES;
(5)通过给子视图贴标签找到子视图
在#import "AppDelegate.h"下宏定义:#define VIEWTAG 111
view.tag = VIEWTAG;
NSLog(@"%@", [self.window viewWithTag:VIEWTAG]);
7.为视图的边框进行一些设置
(1)边框宽度
view.layer.borderWidth = 2;
(2)边框颜色
view.layer.borderColor = [UIColor yellowColor].CGColor;
(3)使视图的4角呈一定的弧度,若视图为正方形,值为边长的一半时视图变成圆形
view.layer.cornerRadius = 40;
(4)使子视图保留在父视图的那部分(只是看不见,并不是真的消除)
view.clipsToBounds = YES;
二.UILabel
UILabel是UIView的子类,它除了有UIView的所有的功能外,最重要的是可以在上面加字
1.UILabel的创建
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(90, 300, 200, 50)];
label.backgroundColor = [UIColor redColor];
[self.window addSubview:label];
[label release];
清空背景颜色
label.backgroundColor = [UIColor clearColor];
2.(1)给label添加文本内容
label.text = @"我爱编程";
(2)字体颜色
label.textColor = [UIColor greenColor];
(3)对齐方式,默认是左对齐
label.textAlignment = NSTextAlignmentCenter; //中心对齐
label.textAlignment = NSTextAlignmentLeft;//文字靠左
label.textAlignment = NSTextAlignmentRight;//文字靠右
(4)字体大小
label.font = [UIFont systemFontOfSize:12];
改变字体类型和大小,name后所选的字体可到 http://iosfonts.com 去选
label.font = [UIFont fontWithName:@"BodoniOrnamentsITCTT" size:20];
label.font = [UIFont boldSystemFontOfSize:20]; // 字体加粗
(5)字体行数 若为0,则是当前文本显示的最大行数
label.numberOfLines = 3;
(6)设置文字阴影尺寸与颜色
label.shadowOffset = CGSizeMake(1, 1);
label.shadowColor = [UIColor blackColor];
(7)换行模式
lineBreakMode :设置标签文字过长时的显示方式
label.lineBreakMode = NSLineBreakByTruncatingHead; // 前面部分文字以....方式省略,显示尾部内容
label.lineBreakMode = NSLineBreakByTruncatingMiddle; // 中间部分文字以....方式省略,显示头尾内容
label.lineBreakMode = NSLineBreakByTruncatingTail; // 尾部部分文字以....方式省略,显示前面内容
label.lineBreakMode = NSLineBreakByWordWrapping; // 以单词为显示单位显示,后面部分省略不显示
label.lineBreakMode = NSLineBreakByCharWrapping; // 以字符为显示单位显示,后面部分省略不显示
label.lineBreakMode = NSLineBreakByClipping; // 剪切与文本宽度相同的内容长度,后半部分删除
(8)根据文本宽度改变文字大小,用于文字多于label显示长度时,此时文字会因为变小而全部显示
label.adjustsFontSizeToFitWidth = YES;
(9)高亮
label.heighLighted = YES;
label.highlightedTextColor = [UIColor redColor]; // 设置高亮颜色
(10)如果设置为No,则文字颜色会变暗,表明其是不可用的,默认值为YES。
label.enabled = NO;
新闻热点
疑难解答