第一章 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 ...
随机推荐
- Webview组件和HTML的介绍
Deviceone平台并不是基于html5的跨平台开发工具.我们开发一个app都是使用原生的组件,但是在某些场景下html5也是非常好的选择,比如复杂的图文混排(类似新闻),比如报表chart之类用h ...
- Vue 源码解析:深入响应式原理(上)
原文链接:http://www.imooc.com/article/14466 Vue.js 最显著的功能就是响应式系统,它是一个典型的 MVVM 框架,模型(Model)只是普通的 JavaScri ...
- 【转】Checkpoint--与lazy writer区别
checkpoint目的是减少数据库的恢复时间(服务奔溃或重启服务后的恢复),而lazy writer的目的是保证SQL OS 有空闲缓存块和系统有一定可用内存. Checkpoint和lazyW ...
- 1、启动oracle的步骤
1.启动oracle的步骤 Linux下启动oracle分为以下两步: 1.1.启动lsnrctl监听. 1.2.启动数据库实例. 2.启动oracle监听 首先登陆服务器,切换到oracle用户. ...
- 深入理解 '0' "0" '\0' 0 之间的区别
看来基础还是很重要的,基础不扎实就难以学好c语言,就别说写出高质量的c语言代码了.今天,我就被这个问题折磨的不行了,哈哈,不过现在终于明白了‘\0’ ,‘0’, “0” 之间的区别了.困惑和快乐与你分 ...
- jquery.validate使用 - 自定义错误信息
自定义错误消息的显示方式 默认情况下,验证提示信息用label元素来显示, 并且会添加css class, 通过css可以很方便设置出错控件以及错误信息的显示方式. /* 输入控件验证出错*/form ...
- ABAP开发顾问必备:SAP ABAP开发技术总结
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- iOS NSURLConnection POST异步请求封装,支持转码GBK,HTTPS等
.h文件 #import <Foundation/Foundation.h> //成功的回调 typedef void(^successBlock)(id responseObj); // ...
- es6还欠完善的地方
const的可变性 const用于声明常量. 什么是常量,声明后的值不可更改. 对于值类型,比如string,number等等.const声明确实有效. const str = "strin ...
- 转 unity 优化
最近研究U3D开发,个人认为,精通一种新的技术,最快最好的方法就是看它的document,而且个人习惯不喜欢看中文的资料,原汁原味的东西是最正确的,一翻译过来很多东西就都不那么准确了.于是通读了uni ...