第一章 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 ...
随机推荐
- build.gradle文件介绍
对于以前用Eclipse开发安卓的小伙伴来说,Gradle文件是陌生的. 不同于Eclipse,而Android Studio 是采用Gradle来构建项目的. 先来介绍最外层目录下的build.gr ...
- Class.forName()用法及与new区别
平时开发中我们经常会发现:用到Class.forName()方法.为什么要用呢? 下面分析一下: 主要功能Class.forName(xxx.xx.xx)返回的是一个类Class.forName(xx ...
- asp.net调用客户端WebBrowser 进行网站地址截屏
在asp.net网站中,如果要实现,在文本框中输入一个URL地址,就把该网页的页面整屏截下来,这段时间一直在研究这一块,在网上查了好多资料.自己又整合了一下. 其实也不是想象中的那么难.主要是通过调用 ...
- stm8的IIC库的使用
一.前言 stm8是一款低功耗的MCU芯片,它具备stm32库函数和资源丰富的优势.也同时具有价格便宜,低功耗的特点.在一些项目中,能起到很好的作用.下面我介绍一下stm8的IIC硬件库函数驱动代码及 ...
- PHP Problem with the SSL CA cert (path? access rights?)
1.php使用curl模块报错问题 开发遇到问题,直接使用系统的curl命令正常,使用php的curl模块报错 错误:PHP Problem with the SSL CA cert (path? a ...
- 瘋子C语言笔记(结构体/共用体/枚举篇)
(一)结构体类型 1.简介: 例: struct date { int month; int day; int year; }; struct student { int num; char name ...
- EF 如何更新少量字段
EF更新少量字段需要解决两个问题 1.动态的将需要更新的字段提取出来 2.将提取出来的字段设为更新状态 通常更新的时候,都是根据条件将实体取出来,然后赋值字段,最后更新整个实体,所以在方法上看似是更新 ...
- LAMP环境搭建 (原创帖,转载请注明出处)
=============================说在前面的话==========================第一安装Mysql第二安装Apache-httpd第三安装PHP 第四配置PH ...
- AutoMagic
AutoMagic 是一个基于WebUI的自动化管理平台.为什么叫AutoMagic呢?因为自动化(Automation)在执行起来的时候是一个很神奇的事情,它可以无人值守的模拟人的操作,就像魔术(M ...
- UI控件封装一般步骤
封装 如果一个view内部的子控件比较多,一般会考虑自定义一个view,把它内部的子控件的创建屏蔽起来,不让外界关心 外界可以传入对应的模型数据给view,view拿到模型数据后给内部的子控件设置对应 ...