第一天
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];

UI一揽子计划 1 (UIView UILabel)相关推荐

  1. UI一揽子计划 23 (动画的使用场景、UIView动画、CGAffineTransform2D仿射变换、CALayer、CAAnimation、)

    在iOS 中的动画是指一些视图上的过渡效果,合理利用动画能提高用户体验. 一. UIView动画 1). UIView动画块的使用 ([UIView beginAnimations: nil cont ...

  2. UI一揽子计划 6 (UIControl、UISegmentedControl、UIImageView插入数组图片、UISlider)

    一 UIControl 是所有控制类控件的基类. ·  比如UIButton    UISlider     UISegmentedControl   等只要跟控件有关系的都继承于UIControl类 ...

  3. UI一揽子计划 3 (自定义视图、UIViewControllor、屏幕旋转判断和重布局)

    一.UIView自定义视图      因为在实际开发过程中,可能由于繁琐的创建相同的Label.textfield和Button组合,为了实现编程工作的高效率,我们可以自定义视图,并且将它们封装起来. ...

  4. UI一揽子计划 9 (UITableView 、UITableView 、重用机制)

    一. UITableView UITableView继承自UIScrollView,所以可以滚动 表视图的每⼀一条数据都是显示在UITableViewCell对象中 表视图可以分区显⽰示数据,每个分区 ...

  5. UI一揽子计划 8 (UINavigationController 、界面通信 、NSTimer  、NSUserDefaults)

    一.UINavigationController       //  创建一个导航控制器     // 创建一个控制器作为根控制器 去管理     RootViewController *rootVC ...

  6. UI一揽子计划 2 (UITextField  UIButton)

    UItextField 一.创建一个UITextField时候默认就弹出键盘     1 对齐方式     textField.textAlignment = NSTextAlignmentCente ...

  7. UI一揽子计划 24 (MVC、通知、)

    一.MVC  Model - View - Controller 即  模型 - 视图 - 控制器 Modle (模型) 存储 处理数据 为应用程序提供数据. View (视图)展示用户界面视图,提供 ...

  8. UI一揽子计划 11 (自定义UITableViewCell、Cell 的自适应高度)

    一. 自定义UITableViewCell 在日常的编程中,系统提供的几种Cell 样式 往往不能满足我们的需求.所以需要我们给它进行自定义样式. 自定义Cell 就是创建一个UITableViewC ...

  9. UI一揽子计划 7 ( UIScrollView、 UIPageControl、综合所学简单相册)

    ---- 创建一个UIScrollView     UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:[UIScreen ma ...

最新文章

  1. linux 内核调试 booting the kernel.,Uncompressing Linux...done, booting the kernel解决办法
  2. Spring boot的场景启动器
  3. nessus导出报告格式有哪些_高分高能 | 文献检索硬核知识报告
  4. OS- -I/O之I/O设备
  5. linux proftpd mysql_Linux安装ProFTPd、MySQL以及Apache后有感
  6. mac/linux 解决启动命令行出现declare问题
  7. editor.md七牛云上传图片springboot_spring boot 若依系统整合Ueditor,部署时候上传图片错误解决...
  8. springboot定时发送短信_阿里大于可以发送定时短信
  9. A + B Problem Too
  10. Excel -- 行列数据移动(移动复制)
  11. 微软雅黑字体的bug,可能不是我第一个发现的
  12. excel表格数据导入导出
  13. 青年大学习自动名单核对程序(使用教程)
  14. mysql8三种安装方式
  15. 官方完整HL7 ECG-XML例子及注释翻译(1)
  16. Python数据可视化之绘制带有最佳拟合线的散点图(图文并茂版!!!)
  17. layui 关闭当前弹出窗口
  18. 关联数据赋能智能化业务
  19. iOS--色值转换RGB
  20. ORA-16032: parameter LOG_ARCHIVE_DEST_3 destination string cannot be translated问题处理过程

热门文章

  1. control bar 的用法 转
  2. Ubuntu中安装部署Janus
  3. 《Linux系统调用:raise,abort》
  4. 蓝桥 解二元一次方程组(Java)
  5. Win7 64bit VS2010 配置 opencv3.2.0
  6. python 爬虫 教程_一个入门级python爬虫教程详解
  7. MATLAB/C语言混编的第一步,在MATLAB R2017b中生成mex文件
  8. 【仿牛客网笔记】项目进阶,构建安全高效的企业服务——热帖排行
  9. matlab画图, x轴和y轴刻度非均匀控制, 画出一张好看的图
  10. 如何安装布署文件服务器