iOS 开发~UIWindow
比如下面例子:
写出第一个iOS的程序,在界面上显示“Hello World”
1.如何新建一个工程
iOS—>Single View Application—>工程名、保存位置
2.运行App
点击三角符号或使用快捷键(Command + R)
快捷键:Command+B 只是编译,不是运行
3.工程的文件组成
4.应用程序是如何运行起来的?
1)main方法
int main(int argc, char * argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
UIApplicationMain()全局函数,一共做了三件事:
a)根据第三个参数创建应用程序类的实例(nil默认UIApplication 系统默认)
b)根据第四个参数创建应用程序代理类的实例
(Application Delegate代理 自己任意创建的类,遵守了协议才可以成为代理类)
c)启动事件循环
d)在代理类的didFinishLaunchingWithOptions:方法中编写启动程序后的界面创建及显示
5.UIWindow
1)是什么
是界面显示的根本对象,要想出现显示的内容,那么一定是先创建window的实例
2)作用是什么?
是界面要显示的内容的父容器,在window的上面添加其他显示的内容
6.frame
1)是什么
是CGRect类型的结构体
2)描述了控件在父容器中的位置和大小
CGRect{
CGPoint origin,
CGSize size
}
CGPoint{
CGFloat x,
CGFloat y
}
CGSize{
CGFloat width,
CGFloat height
}
3)如何创建结构体的变量?
使用全局函数 xxxMake();
CGRect —> CGRectMake(x,y,width,height)
CGPoint -> CGPointMake(x,y);
CGSize -> CGSizeMake(width,height);
例:
AppDelegate.m
#import "AppDelegate.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//应用程序启动后,第一个要执行动作的时机点,可以做第一个要出现的界面的设置
//1.创建window的实例 //读屏幕的大小
self.window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
//2.设置window的背景色
self.window.backgroundColor=[UIColor yellowColor];
//3.创建并添加显示文本信息的标签
UILabel *label = [[UILabel alloc]init];
label.frame = CGRectMake(100, 150, 200, 40);
label.text = @"Hello World";
[self.window addSubview:label];//子试图添加到界面
// 4 设置根控制器
self.window.rootViewController=[ViewController new];
// 5.设置窗口可见(显示)
[self.window makeKeyAndVisible];
return YES;
}
效果如下: 
iOS 开发~UIWindow的更多相关文章
- iOS开发——UI精选OC篇&UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍
UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道 ...
- iOS开发UI篇—UIWindow简单介绍
iOS开发UI篇—UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...
- iOS开发系列--通知与消息机制
概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情.iOS中通知机制又叫消息机制,其包括两类:一类是本地 ...
- 【IOS开发笔记03-视图相关】简单计算器的实现
UIView 经过前几天的快速学习,我们初步了解的IOS开发的一些知识,中间因为拉的太急,忽略了很多基础知识点,这些知识点单独拿出来学习太过枯燥,我们在今后的项目中再逐步补齐,今天我们来学习APP视图 ...
- 【IOS开发笔记02】学生管理系统
端到端的机会 虽然现在身处大公司,但是因为是内部创业团队,产品.native.前端.服务器端全部坐在一起开发,大家很容易做零距离交流,也因为最近内部有一个前端要转岗过来,于是手里的前端任务好像可以抛一 ...
- iOS开发系列--无限循环的图片浏览器
--UIKit之UIScrollView 概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件 ...
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
- ios开发中的小技巧
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...
- iOS开发系列--IOS程序开发概览
概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...
- iOS开发系列--视图切换
概述 在iOS开发中视图的切换是很频繁的,独立的视图应用在实际开发过程中并不常见,除非你的应用足够简单.在iOS开发中常用的视图切换有三种,今天我们将一一介绍: UITabBarController ...
随机推荐
- NPOI导入导出Excel
.net mvc利用NPOI导入导出excel 注意:如何导出的提交方式ajax导出是失效的! 解决方案是:js处理l两个表单的提交 代码: 第一步. 在页面里面加入2个隐藏的iframe, 如下 ...
- [Leetcode] implement strStr() (C++)
Github leetcode 我的解题仓库 https://github.com/interviewcoder/leetcode 题目: Implement strStr(). Returns ...
- 【7】用Laravel5.1开发一个简单的博客系统
声明: 本教程参考Jeffrey way 在laracasts.com上的视频教程,感谢Jeffrey way为大家带来的精彩教程,本教程如有侵权,请及时告知,联系邮箱wanglv93@gmail.c ...
- js 按元素向数组中最佳删除元素
追加::: var a = [];// 创建数组 a.push(1); // 添加到最后 a.unshift(); // 添加到第一个位置 删除:::如果你没有使用第三方框架,有类似的扩展功能可以根据 ...
- C语言一维指针的深入理解
指针是C语言中广泛使用的一种数据类型.运用指针编程是C语言最主要的风格之一. 利用指针变量可以表示各种数据结构:能很方便地使用数组和字符串:并能象汇编语言一样处理内存地址,从而编出精练而高效的程序.指 ...
- SpringMVC整合极光推送报错ClassNotFound
问题: 今天在做后台和极光整合的过程中,将极光部分代码整合到Dao层,在启动项目的过程中总是报错,classNotFund cn/jpush/api/push/xxxx 极光官方文档: http:// ...
- IOS 面试 --- 网络部分
网络部分 3 做过的项目是否涉及网络访问功能,使用什么对象完成网络功能? 答案:ASIHTTPRequest与NSURLConnection 4 简单介绍下NSURLConnection类及+ sen ...
- SDL入门教程(一):3、MinGW 下的安装与设置
作者:龙飞 3.1:MinGW 是什么? MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境.MinGW 收集了一系列免费的Windows 使用的头文件和库文件:同时整合了GN ...
- 转:helloworld:一个完整的WCF案例
原文地址:http://blog.csdn.net/mane_yao/article/details/5852845 WCF的ABC: A代表Address-where(对象在哪里)B代表Bindin ...
- 【转】Android用NDK和整套源码下编译JNI的不同
原文网址:http://www.devdiv.com/android_ndk_jni_-blog-99-2101.html 前些天要写个jni程序,因为才几行代码,想着用ndk开发可能容易些,就先研究 ...