芒果iOS开发UI课程第一节UIWindow
主要内容:
1.iOS介绍
2.iOS主要做什么
3.UI介绍
4.UIWindow
这是UI阶段的第一节课主要介绍iOS系统,以及相关的一些知识。还有做为iOS开发者我们应该如何创建我们的第一个UI程序。
iOS介绍:
iOS是苹果公司的移动操作系统,主要用于iPhone、iPad、iPad Mini、iPod Touch等移动产品。
iOS开发主要做什么:
做为一个iOS开发者,我们可以开发许许多多的我们日常生活中常用的软件,比如团购类的软件、地图导航类的软件、阅读软件、还有最近一直非常抢眼的智能家居软件、游戏等等的应用程序。
而且相对于Android平台,iOS平台用户拥有更好的付费习惯,iOS开发者比安卓开发者更容易赚钱。
UI介绍:
UI(User Interface):用户界面,用户能看到的各种各样的页面元素。(PS:在公司里边有一个职位大家平常也就他UI,他们是用户界面设计师,平常主要工作给程序猿们设计图片和切图)
iOS开发的话其实也就是把各种各样的UI空间集合到一起,再加上一些逻辑算法和网络数据就构成了我们所使用的软件。
想要开发出一款精美的应用程序,需要熟练掌握各种UI控件的用法。
UIWindow:
window是窗口的意思,每个app都需要借助window将内容展现给用户看。在iOS中,使用UIWindow类来表示窗口,通常一个应用程序只创建一个UIWindow对象。window的主要作用是呈现内容给用户,我们不会对window做太多操作。
如何创建window?
在创建window的时候,需要指定window的大小。通常window的大小(frame)与屏幕(UIScreen)大小一致。
示例代码如下:
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
这里的[UIScreen mainScreen]是获取设备的整个屏幕,bounds是屏幕的边界也就是屏幕的大小。这里也就是创建了一个UIWindow的对象,然后指定了window的大小为屏幕的大小。
一般UIWindow对象不用咱们自己创建,Xcode在创建工程的时候默认已经给我们创建好了,下边来看下AppDelegate.h文件:
// AppDelegate.h
// UILesson-UIWindowUIViewUILabel
// 芒果iOS
// Created by 张茫原 on 15/11/18.
// Copyright © 2015年 芒果科技. All rights reserved.
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
//window是应用程序的窗口,每一个app都需要借助UIWindow对象将内容呈现给用户
//通常一个应用程序只有一个窗口(也就是之创建一个UIWindow对象)
//window的作用:呈现给用户UI界面,window只负责承载,但是我们并不会对window做过多的操作
@property (strong, nonatomic) UIWindow *window;
@end
上边代码中应用程序的代理类中默认已经创建好了一个UIWindow的属性。
下边来看下AppDelegate.m文件:
// AppDelegate.m
// UILesson-UIWindowUIViewUILabel
// 芒果iOS
// Created by 张茫原 on 15/11/18.
// Copyright © 2015年 芒果科技. All rights reserved.
//
#import "AppDelegate.h"
//引入自定义ViewController的头文件
#import "RootViewController.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
//应用程序启动之后进入此方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//初始化UIWindow对象,并且设置window的大小
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.应用程序启动之后书写自定义代码(咱们自己需要写的代码)的位置
//在设置跟视图之前,需要先实例化(初始化)出来一个RootViewController的对象
//UIViewController创建之后默认的背景颜色是透明的
RootViewController *rootVC = [[RootViewController alloc] init];
//把rootVC做为window的根视图
self.window.rootViewController = rootVC; //rootVC引用计数为2
//alloc之后需要release
[rootVC release];
//把winow背景颜色设置为红色
self.window.backgroundColor = [UIColor redColor];
[self.window makeKeyAndVisible];
return YES;
}
应用程序启动之后书写自定义代码的位置。
下边咱们就可以设置window的根视图了。咱们之后的代码就可以转移到RootViewController里写了。
芒果iOS开发UI课程第一节UIWindow相关推荐
- iOS开发UI篇—UIWindow简单介绍
iOS开发UI篇-UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...
- iOS开发UI篇—多控制器和导航控制器简单介绍
iOS开发UI篇-多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个vi ...
- iOS开发UI篇—UITabBarController简单介绍
iOS开发UI篇-UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...
- IOS开发UI篇—导航控制器属性和基本使用
IOS开发UI篇-导航控制器属性和基本使用 一.导航控制器的一些属性和基本使用 1.把子控制器添加到导航控制器中的四种方法 (1) 1.创建一个导航控制器 UINavigationController ...
- iOS开发UI篇—Modal简单介绍
iOS开发UI篇-Modal简单介绍 一.简单介绍 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展⽰出来 Modal的默认效果:新控制器从屏幕的 ...
- iOS开发UI基础—手写控件,frame,center和bounds属性
iOS开发UI基础-手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...
- iOS开发UI篇—Quartz2D使用(绘图路径)
iOS开发UI篇-Quartz2D使用(绘图路径) 一.绘图路径 A.简单说明 在画线的时候,方法的内部默认创建一个path.它把路径都放到了path里面去. 1.创建路径 cgmutablepat ...
- iOS开发UI篇—推荐两个好用的Xcode插件(提供下载链接)
iOS开发UI篇-推荐两个好用的Xcode插件(提供下载链接) 这里推荐两款好用的Xcode插件,并提供下载链接. 一.插件和使用如下: 1.两款插件 对项目中图片提供自动提示功能的插件:KSImag ...
- iOS开发UI篇—常见的项目文件介绍
iOS开发UI篇-常见的项目文件介绍 一.项目文件结构示意图 二.文件介绍 1.products文件夹:主要用于mac电脑开发的可执行文件,ios开发用不到这个文件 2.frameworks文件夹主要 ...
最新文章
- php ci hooks,CI框架 -- 核心文件 之 Hooks.php
- ECMAScript 继承机制实现
- 微电网日前优化调度 。算例有代码(3)
- 在JSP页面中使用Ajax主题时的引入
- Google Guava学习笔记——基础工具类Joiner的使用
- 想不想在手机上敲 Python 代码?!这里有一款推荐方案
- ntp如何确认与服务器偏差_CDH集群时钟偏差问题
- 高效编排有状态应用——TiDB 的云原生实践与思考
- 一级计算机第65套题,全国计算机一级考试题库(附答案).pdf
- 压缩包上传 压缩并解压缩Rar/Zip
- 计算机二进制拨码,二进制拨码
- Linux下VirtualBox出现kernel driver not installed的解决方法
- bootbox的使用
- AXI3.0 AXI4.0 五大通道接口详细介绍
- 计算机纳入高考作文,高考作文听人家说今年的高考作文是用计算机批 – 手机爱问...
- 关闭或更改Windows自带输入法繁体简体切换(Ctrl+Shift+F)的快捷键
- 还不了解外贸流程?这一篇就够了(小声bb)
- 基于Pytorch实现的快速人脸识别模型
- 论文阅读笔记《Siamese Convolutional Neural Network for Camera Pose Estimation and Visual Servoing》
- HEVC vs AVS2
热门文章
- pdf文件转换jpg转换器
- 阿里云AIoT智慧人脸门禁
- Salesforce业务分析师(BA)认证—备考指南
- 【毕业设计】python 机器视觉 车牌识别 - opencv 深度学习 机器学习
- location.href用法
- 在64位虚拟机上编译C程序为32位的可执行文件
- Gartner:08年全球杀毒软件市场份额排名 微软第七
- 刘一男词汇课(从shift到string):“重复是记忆之母,理解是记忆之父。“
- 关于【豆瓣删贴】的技术解决方案
- 检测计量与计算机技术,测试计量技术及仪器