[TwistedFate]UIView UILabel

MRC下属性的属性

MRC retain assign
ARC retain相当于strong 一般修饰对象
assign相当于weak 一般修饰基本数据类型

window

初始化

// 打印满屏的bounds
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]autorelease];
// 把窗口显示出来
[self.window makeKeyAndVisible];

UIView

初始化

UIView代表一个矩形区域

初始化一个UIView

// 起始点 从屏幕左上角(0,0)开始计算
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100,100, 200, 100)];

添加背景颜色

view.backgroundColor = [UIColor greenColor];

把视图添加到控件上显示

// 实际上添加进一个数组中
[self.window addSubview:view];

取出子视图的方法

NSArray *subView = self.window.subviews;
UIView *tempView = subView[0];

获取中心点

CGPoint center = view.center;
NSLog(@"%@",NSStringFromCGPoint(center));

更改中心点

view.center = CGPointMake(100, 50);

更改视图位置的两种方法

1.更改frame
2.更改中心点
初始化另一个视图view2

UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(50, 20, 50, 50)];
view2.backgroundColor = [UIColor blackColor];
// 父子视图的关系是相对的
// 添加在谁的上面 谁就是父视图
// 子视图的起始位置 要根据父视图的左上角(0,0)点开始计算
[view addSubview:view2];
[view2 release];
// 添加子视图注意
// 必须把子视图添加到 父视图的范围之内 否则无法交互

bounds

bounds:边界的意思,可以控制子视图的坐标系
默认bounds的起始 就是从(0,0)点开始
改变父视图的bounds 相当于改变子视图的坐标系(也就是原点坐标)
父视图是不发生变化的 知识更改子视图的位置 (当然交互的问题以frame为准)
这里写图片描述

创建视图步骤

1.开辟空间 给一个位置
2.给视图设置属性:如背景颜色,字体大小等
3.添加视图
4.释放内存

定义屏幕长宽的宏

#define kScreenWidth [UIScreen mainScreen].bounds.size.width
#define kScreenHeight [UIScreen mainScreen].bounds.size.height
初始化一个view
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(kScreenWidth/4, kScreenHeight/10, kScreenWidth/2, kScreenHeight/3)];
// 如果UIView没有设置背景颜色 默认是透明的
aView.backgroundColor = [UIColor greenColor];
[self.window addSubview:aView];
[aView release];

添加一个标签

aView.tag = 100;
// ***注意:tag值不能给0 (因为window默认值为0)

通过标签取出视图

UIView *tagView = [self.window viewWithTag:100];
// 更改通过标签取出视图的属性
tagView.backgroundColor = [UIColor blueColor];

视图属性:隐藏

aView.hidden = YES;  // 默认是NO
// 如果父视图被隐藏 那么父视图上面的所有子视图也会被隐藏

这里写图片描述
初始化视图bView

    UIView *bView = [[UIView alloc] initWithFrame:CGRectMake(kScreenWidth/4, kScreenHeight/10, kScreenWidth/4, kScreenHeight/6)];
    bView.backgroundColor = [UIColor redColor];
    [self.window addSubview:bView];
    [bView release];

取出某视图的子视图

    NSArray *subViews = self.window.subviews;

把视图插入到指定的位置 (父视图调用的方法)

[self.window insertSubview:bView atIndex:0];

把前一个视图添加到后一个子视图上

[self.window insertSubview:bView aboveSubview:aView];

在指定视图下面插入一个子视图

[self.window insertSubview:bView belowSubview:aView];

这里写图片描述

取出某一视图的父视图

UIView *superView = bView.superview;
superView.backgroundColor = [UIColor orangeColor];

把某一个子视图 放到最前面

[self.window bringSubviewToFront:aView];

把某一个视图 放到最后面

[self.window sendSubviewToBack:aView];

交换两个视图的位置

[self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:1];

把某一个视图从父视图上移除

[bView removeFromSuperview];

这里写图片描述

透明属性:alpha

默认是1 取值范围0 ~ 1

 aView.alpha = 0.5; // 半透明
 // 如果父视图的透明度发生变化 那么父视图上面的所有子视图也会发生变化

显示文本的视图UILabel

初始化UILabel

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 270, 500)];
label.backgroundColor = [UIColor greenColor];
label.text = @"text";

多行显示

 label.numberOfLines = 0;
 // 0 与 - 1全部显示

设置字体颜色

label.textColor = [UIColor redColor];

设置字体大小

label.font = [UIFont systemFontOfSize:15];

设置字体类型及大小

label.font = [UIFont fontWithName:@"Heiti TC" size:20];

获取系统的所有安装的字体

NSArray *fontArray = [UIFont familyNames];
// 打印
NSLog(@"%@",fontArray);

设置对其方式

label.textAlignment = NSTextAlignmentCenter;

阴影颜色

label.shadowColor = [UIColor blueColor];

调整阴影的位置

label.shadowOffset = CGSizeMake(1,0);

设置断行模式

label.lineBreakMode = NSLineBreakByTruncatingMiddle;

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值