UI一揽子计划 1 (UIView UILabel)

第一天
1.UIView
·建立一个空模板后,首先将ARC模式关闭,因为iOS采用MRC模式,即手动管理内存。
·重写dealloc方法。 - (void)dealloc
{
[_window release];
[super dealloc];
}
·将self.windows进行autorelease。
·把窗口显示到界面上,如果窗口不显示到界面上 默认是黑色的

创建UI控件 一共四部
1. 初始化一个空间
2. 设置属性 例如:背景颜色
3. 显示视图
4. 释放内存空间
·构建一个frame结构体
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake( 50, 50, 200, 200)];
·设置背景颜色
UIView 的默认的背景颜色是透明的
aView.backgroundColor = [UIColor redColor];
aView.alpha = 0.7;
·显示视图 添加到windows上面
[self.window addSubview:aView];
·释放视图
[aView release];
·子视图的起始坐标是根据父视图的原点坐标开始计算的
将bView 添加到 aView上面
UIView *bView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];
bView.backgroundColor = [UIColor blueColor];
·子视图跟着父视图的变化而变化 子视图的透明度随着父视图的改变而改变

·所有能看见的都是UI控件 全是UIView的子类
·改变视图的中心点位置 就相当于改变它的位置
aView.center = CGPointMake(200, 200);
·构建Size(宽高)结构体 CGSizeMake(<#CGFloat width#>, <#CGFloat height#>);
·如果子视图没有在父视图的范围内会造成没有点击事件(触摸事件) 所以一定要添加到范围
·设置透明属性 有一个范围(0 - 1)设置透明度属性 默认是不透明的
bView.alpha = 1;
·隐藏 只是YES NO 默认是NO 如果父视图隐藏子视图一样隐藏
aView.hidden = NO;
[aView addSubview:bView];
·改变父视图的bounds 是改变撒???
1.不管怎么改,父视图本身是不会发生变化的。
2.更改的是子视图的坐标系(即原点 0, 0 点)。
3.把bounds从0,0 更改成 10,10 相当于将原来的0,0 点改成了 10,10 点。子视图必须要根据父视图的0,0 点计算 那么需要寻找现在的0,0 点从而改变位置
aView.bounds = CGRectMake(10, 30, 200, 200); 一般就改原点 宽高一般不动
·打印frame结构体的函数
NSLog(@”%@”, NSStringFromCGRect(aView.bounds));
·获取 a 的全部子视图 放到数组中去
NSArray *subViews = aView.subviews;
·把子视图插到相应的角标位置
√ c 插到最前的位置
[aView insertSubview:cView atIndex:0];
√ b插到最前的位置
[aView insertSubview:bView atIndex:0];
√ 把 b 放在 c 的上面
[aView insertSubview:bView aboveSubview:cView];
√ 把 b 放在 c 的下面
[aView insertSubview:bView belowSubview:cView];
√ 把 b 移动到最前面
[aView bringSubviewToFront:bView];
√ 把 b 移动到最后面
[aView sendSubviewToBack:bView];
√ 交换两个视图的位置 改变的是角标的位置
[aView exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
√ 从父视图中移除 b 这个子视图
[bView removeFromSuperview];
·给视图加一个标签
aView.tag = 100;
注意: 1.标签不能重复 2.不能为0
·在父视图的子视图上面寻找 有没有对应的标签 也就是说, 这个方法是由父视图调用的
UIView *aViewTemp = [self.window viewWithTag:100];
aViewTemp.backgroundColor = [UIColor blackColor];
cView.tag = 1000;
UIView *cViewTemp = [self.window viewWithTag:1000]; 父亲的父亲也可以
cViewTemp.backgroundColor = [UIColor redColor];
·取出 c 的父视图 改变颜色
UIView *cSuperView = [cView superview];
cSuperView.backgroundColor = [UIColor brownColor];
2.UILabel
·创建一个UILabel
1.初始化
2.设置属性
3.显示
4.回收内存
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(30, 100, 90, 40)];
label.backgroundColor = [UIColor grayColor];
label.alpha = 0.5;
[self.window addSubview:label];
·默认上下居中 左右居左 字体黑色 默认一行
label.text = @”name:”;
label.textColor = [UIColor redColor];
label.textAlignment = NSTextAlignmentCenter;
·显示在本label里文本几行 行数设置为0 如果label够长够宽 可以把本本显示完整
label.numberOfLines = 0;
·设置字体的大小 或者字体样式
label.font = [UIFont fontWithName:@”Marker Felt” size:18]; 比如黑体 宋体 字号
label.font = [UIFont systemFontOfSize:18];
NSLog(@”%@”, label.font.fontName);
·断行模式
label.lineBreakMode = NSLineBreakByCharWrapping;
/*
typedef NS_ENUM(NSInteger, NSLineBreakMode) { /* What to do with long lines */
NSLineBreakByWordWrapping = 0, /* Wrap at word boundaries, default */
NSLineBreakByCharWrapping, /* Wrap at character boundaries */
NSLineBreakByClipping, /* Simply clip */
NSLineBreakByTruncatingHead, /* Truncate at head of line: “…wxyz” */
NSLineBreakByTruncatingTail, /* Truncate at tail of line: “abcd…” */
NSLineBreakByTruncatingMiddle /* Truncate middle of line: “ab…yz” */
} NS_ENUM_AVAILABLE_IOS(6_0);
*/
·设置阴影
label.shadowColor = [UIColor blackColor];
·设置阴影位置
label.shadowOffset = CGSizeMake(0, 3);
·打印手机安装过的字体的方法
·所有的字体都在这个
NSArray *fontNameArray = [UIFont familyNames];
NSLog(@”%@”, fontNameArray);
[label release];
UILabel *label1 = [[UILabel alloc]initWithFrame:CGRectMake(30, 160, 90, 40)];
label1.backgroundColor = [UIColor grayColor];
label1.alpha = 0.5;
[self.window addSubview:label1];
label1.text = @”password:”;
label1.textColor = [UIColor redColor];
label1.textAlignment = NSTextAlignmentCenter;
[label1 release];

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值