第一章 UI实战开发 UIWindow UIView
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
UI 即:用户界面 UIWindow的使用 用法
对UIWindow 进行初始化 IOS 程序的入口
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
(self.window = [[UIWindow alloc] init ];//WithFrame:[UIScreen mainScreen].bounds];//创建window,让其充满屏幕
self.window.frame = [[UIScreen mainScreen]bounds];)(第一种方法)
self.window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen] .bounds];(第二种方发)
//[self.window makeKeyAndVisible];//让window成为主窗口且可视
self.window.backgroundColor = [UIColor redColor];//设置背景色
self.window.rootViewController = [[ViewController alloc] init];//设置根视图控制器
// Override point for customization after application launch.
return YES;
}
UIView 视图 (进入view 创建UIView)的入口
UIview的方法
- (void)viewDidLoad {
[super viewDidLoad];
UIview *view = [[UIView alloc] init];
view.frame = CGRectMake(10, 20, 100, 100);//相对于父视图的位置,注意坐标和尺寸的合理性,保证坐标加尺寸不会超出父视图范围
view.userInteractionEnabled = YES;//是否允许用户点击(默认YES),如果设置成no,子视图不会覆盖父视图的点击事件
self.view.backgroundColor=[UIColor blackColor];
view.backgroundColor = [UIColor redColor];
[self.view addSubview:view];//将后面的视图添加到前面的视图之上
self.view.userInteractionEnabled = YES;//如果父视图不允许交互,那么子视图的事件也会被屏蔽
view.tag =1;//设置视图的标签
view.alpha = 1;//设置视图的透明度,0~1(从透明到不透明)
self.view.alpha = 1;//如果父视图透明,那么子视图也会看不见
view.hidden = YES;//设置视图是否隐藏(默认NO)
self.view.hidden = YES;//如果父视图被隐藏,那么子视图也会被隐藏
UIView *view3 = [self.view viewWithTag:1];//获取父视图中标签为1的视图
view3.backgroundColor = [UIColor greenColor];
UIView *view5 = [[UIView alloc] initWithFrame:CGRectMake(10, 30, 100, 200)];
view5.backgroundColor = [UIColor blackColor];
[self.view addSubview:view5];
[view5 removeFromSuperview];//将视图移除父视图
UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 200, 300)];
view1.backgroundColor = [UIColor greenColor];
[self.view addSubview:view1];
view1.alpha =1;
[view1 removeFromSuperview];
[self.view insertSubview:view1 atIndex:3];//将子视图添加到父视图的某个位置
[self.view insertSubview:view5 aboveSubview:view1];//将view5添加到父视图,且在view1之上
[self.view insertSubview:view1 belowSubview:view];//将view1添加到父视图,且在_view之下
[self.view exchangeSubviewAtIndex:3 withSubviewAtIndex:2];//交换两个位置的视图
[self.view bringSubviewToFront:view5];//将某个子视图移到父视图的最前方
[self.view sendSubviewToBack:view1];//将某个子视图移到父视图的最底层
// Do any additional setup after loading the view, typically from a nib.
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"被点击");(点击之后的运行)
}
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
第一章 UI实战开发 UIWindow UIView的更多相关文章
- 【全面解禁!真正的Expression Blend实战开发技巧】第一章 真正的开发中的最佳的做法
原文:[全面解禁!真正的Expression Blend实战开发技巧]第一章 真正的开发中的最佳的做法 从设计者到开发者 设计师创建一个应用程序的布局然后让开发者去实现. 从开发者到设计者 开发者创建 ...
- 第一章 搭建Qt开发环境
第一章 搭建Qt开发环境 1.到http://download.qt-project.org/archive/上下载Qt的源码包.我下载的是qt-everywhere-opensource-src-4 ...
- 编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则)
编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则) 目录 建议1: 不要在常量和变量中出现易混淆的字母 建议2: 莫让常量蜕变成变量 建议3: 三元操作符的类型务 ...
- javascript进阶教程第一章案例实战
javascript进阶教程第一章案例实战 一.学习任务 通过几个案例练习回顾学过的知识 通过练习积累JS的使用技巧 二.实例 练习1:删除确认提示框 实例描述: 防止用户小心单击了“删除”按钮,在用 ...
- 《进击吧!Blazor!》第一章 5.组件开发
<进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门系列视频,此系列能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:https://s ...
- 第一章 企业项目开发--maven+springmvc+spring+mybatis+velocity整合
说明:本系列文章主要是对自己在一家大型互联网公司实习的过程中对所学知识的总结!参与的是实际中使用的上线项目. 代码的github地址:https://github.com/zhaojigang/ssm ...
- Ruby on Rails Tutorial 第一章 之 搭建开发环境
云端开发环境,Cloud9(https://ide.c9.io/).这个开发环境预先安装好了Rails开发所需要的大多数软件,包括Ruby.RubyGems和Git,需要自己安装Rails. 1.安装 ...
- 第一章03 java 开发环境搭建
1. 首先,搭配java开发环境,安装(jdk:java 开发工具包) 2.安装下载:输入www.oracle.com.cn/indek.html (cn代表中文) 3.测试安装是否成功 (1)wi ...
- 第一章 mac下开发环境的配置
mac系统与Linux系统差不多,但是与windows系统版本非常不同. 1.jdk 安装与卸载:https://docs.oracle.com/javase/8/docs/technotes/gui ...
随机推荐
- 【GO】GO语言学习笔记三
7.数组: 几乎是最常用的数据类型了... 数组就是指一系列同一类型数据 的集合.数组中包含的每个数据被称为数组元素(element),一个数组包含的元素个数被称为数 组的长度. 常规的数组声明方法: ...
- solr 4.4添加索引是新手容易遇到的问题
solr 4.4添加索引是新手容易遇到的问题异常一.Exception in thread "main" java.lang.NoClassDefFoundError: org/a ...
- 杀死mapreduce
在做mapreduce的时候,ctrl+c 其实就是在doc命令下杀死了mapreduce显示,后台还是有在运行mapreduce的程序 可以http://namenode.hadoop:8088/ ...
- 用Django写出“hell world”
一.系统实战环境 1 2 3 4 系统版本:CnetOS6.5 x86_64 Django版本:Django-1.5.8 MySQL版本:MySQL-5.1.73 Python版本: python-2 ...
- highcharts php请求mysql返回json数据作为数据源进行制图
直接上代码 [官方文档请参见http://www.highcharts.com/docs/working-with-data/getting-data-across-domains-jsonp] [实 ...
- HDU 1525 Euclid's Game 博弈
Euclid's Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- UVALive 3177 长城守卫
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...
- JSON数据解析
1 JSON简介 JSON(JavaScript Object Notation),类似于XML,是一种轻量级的数据交换格式,比如在JavaEE中Struts2与Ajax在来回传递数据时,除了可以利用 ...
- 在Linux中查看所有正在运行的进程
可以使用ps命令.它能显示当前运行中进程的相关信息,包括进程的PID.Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息. ps命令能提供一份当前进程的快照.如果想状态可以自动刷新,可以 ...
- Google开源SLAM软件cartographer中使用的UKF滤波器解析
在Google开源SLAM软件cartographer中,相对<SLAM for dummies>使用了更为复杂.性能更好的Scan匹配与UKF算法,这里简单介绍下cartographer ...