IOS之--UI进阶--多控制器管理第一天
01-项目中常见的文件(LaunchScreen)
Xcode5
框架是苹果事先已经导入进去的.在项目的结构当中就能够看到导入的框架.
Xcode6
会自动导入一些觉见的框架.在项目结构当中,看不到已经导入的框架.
LaunchScreen.xib:用来设置启动界面.
Xcode7
会自动导入一些觉见的框架.在项目结构当中,看不到已经导入的框架.
LaunchScreen.storyBoard
LaunchScreen原理:
会自动加载LaunchScreen是因为在Target当中,指定了Launch Screen file,
如果没有指定的话,就不会去加载LaunchScreen作为启动界面.
如果没有设置启动图片,模拟器默认的尺寸大小是4s的尺寸大小.(可以打印屏幕尺寸验证.)
模拟器默认的尺寸是由启动界面决定的.
它的底层实现其实把LaunchScreen上的东西,生成了一张图片,然后把这张图片设为程序的启动图片.
可以进入沙盒当中查看,
查看方法,找到应用程序根目录.
获取方法: NSLog(@"%@",NSHomeDirectory());
打印出来,后前往文件夹.找到Library->Caches->Snapshots目录下面.最后一层就是程序自动生成的图片.
02-项目中常见的文件(info.plist)
Supporting file一般都是放些资源文件,像一些plist这些等.
xcode5当中也有info.plist,只不过它的名字很长.是工程的名称.
在xcode5当中,会自动生成一个pch文件,在Xcode6当中不会帮我们生成PCH文件.
info.plist当中保存着整个应用当中基本的配置.它是一个字典.查看它的类型.
这个当中,主要掌握三个Key,
Bundle Name:应用程序的名称.
Bundle version string,short:应用程序的版本.在开发当中都是迭代开发.苹果要求下一次提交的版本必须得要比上一次提交的版本要高.
Bundle Version:应用程序编译的版本.
Bundle identifier:应用程序标识符.保证应用程序的唯一性,
如果两个应用同一个标识符, 那么之前的那个应用会被干掉.
作用:上传到AppStore的时候必须得要有标识符.
当做推送的时候也必须得要Bundle identifier.
Targets对应者info.plist.文件.
03-项目中常见的文件(PCH)
PCH也是一个文件.一般PCH的名称跟项目的名称相同.
PCH的作用:存放一些公用的宏.
存放一些公用的文件.
只要在pch当中定义的东西, 会被整个应用程序共享.
PCH它是一个预编译文件,要告诉系统要提前编译它.要去做一些配置.
在Buld Setting 当中找perfix 找到Precomplie prefix Header 为yes.
设完这些后,再进行prefix Header的路径配置.路径从根层开始.
1.定义一些常用公用的宏.
经常做一些系统的版本号的宏,
和一些屏幕的宏.
2.存放公用的头文件.分类的头文件
3.pch可以自定义Log.
在宏当中,三个点...表示可变参数.
在函数当中,表示可变参数用:__VA_ARGS__
XMGLog(...) NSLog(__VA__ARGS__)
可以手动管理,直接注释掉.
PCH:注意PCH会把它当中的所有内容导入到工程当中所有的文件.但如果工程当中有C语言文件的时候,它也是会把它给导入到C语言的文件当中.如果这样的话, 就会发生错误.
IOS之--UI进阶--多控制器管理第一天的更多相关文章
- iOS开发UI篇—多控制器和导航控制器简单介绍
iOS开发UI篇—多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个vi ...
- IOS开发UI篇—导航控制器属性和基本使用
IOS开发UI篇—导航控制器属性和基本使用 一.导航控制器的一些属性和基本使用 1.把子控制器添加到导航控制器中的四种方法 (1) 1.创建一个导航控制器 UINavigationController ...
- iOS开发——UI进阶篇(十)导航控制器、微博详情页、控制器的View的生命周期
一.导航控制器出栈 1.initWithRootViewController本质 UIViewController *vc = [[OneViewController alloc] init]; // ...
- iOS开发——UI进阶篇(八)pickerView简单使用,通过storyboard加载控制器,注册界面,通过xib创建控制器,控制器的view创建,导航控制器的基本使用
一.pickerView简单使用 1.UIPickerViewDataSource 这两个方法必须实现 // 返回有多少列 - (NSInteger)numberOfComponentsInPicke ...
- iOS开发——UI进阶篇(七)程序启动原理、打电话、发短信
一.Info.plist常见的设置 1.建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 ...
- iOS开发——UI进阶篇(十二)事件处理,触摸事件,UITouch,UIEvent,响应者链条,手势识别
触摸事件 在用户使用app过程中,会产生各种各样的事件 一.iOS中的事件可以分为3大类型 触摸事件加速计事件远程控制事件 响应者对象在iOS中不是任何对象都能处理事件,只有继承了UIResponde ...
- iOS开发——UI进阶篇(十五)Quartz2D介绍
一.Quartz2D简介 1.什么是Quartz2DQuartz 2D是一个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作绘制图形 : 线条\三角形\矩形\圆\弧等绘制文字绘 ...
- iOS开发——UI进阶篇(十九)UISearchBar控件简介
最近用到搜索功能.总结一下 搜索,无疑可以使用UISearchBar控件! 那就先了解一下UISearchBar控件吧! UISearchBar控件就是要为你完成搜索功能的一个专用控件.它集成了很多你 ...
- iOS开发——UI进阶篇(十七)CALayer,核心动画基本使用
一.CALayer简介 1.CALayer在iOS中,文本输入框.一个图标等等,这些都是UIView你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个其实UIView之所以 ...
随机推荐
- AngularJS的学习--TodoMVC的分析
最近一段时间一直在看AngularJS,趁着一点时间总结一下. 官网地址:http://angularjs.org/ 先推荐几个教程 1. AngularJS入门教程 比较基础,是官方Tutorial ...
- 使用Html5+C#+微信 开发移动端游戏详细教程 :(二)准备工作&开发环境
C#开发环境:VS2013; H5开发环境:WebStorm; 数据库:mysql+navicat管理工具: 操作系统:win7: 调试:chrome浏览器 如果想在微信端上线运营游戏请做好以下准备工 ...
- iOS-Debug调试
转载:http://www.cnblogs.com/Leo_wl/p/4423922.html
- 远程方法调用(RMI)原理与示例
RMI介绍 远程方法调用(RMI)顾名思义是一台机器上的程序调用另一台机器上的方法.这样可以大致知道RMI是用来干什么的,但是这种理解还不太确切.RMI是Java支撑分布式系统的基石,例如著名的EJB ...
- Android View 之进度条+拖动条+星级评论条....
PS:将来的你会感谢现在奋斗的自己.... 学习内容: 1.进度条 2.拖动条 3.星级评论条 1.进度条... 进图条这东西想必大家是很熟悉的...为了使用户不会觉得应用程序死掉了,因此 ...
- 转载:第五弹!全球首个微信小程序(应用号)开发教程!通宵吐血赶稿,每日更新!
博卡君今天继续更新,忙了一天,终于有时间开工写教程.不罗嗦了,今天我们来看看如何实现一些前端的功能和效果. 第八章:微信小程序分组开发与左滑功能实现 先来看看今天的整体思路: 进入分组管理页面--&g ...
- SecureCRT连接linux设置vim显示颜色
只需要两个步骤: 1) 选项 --> 会话选项 --> 终端 --> 仿真 --> 勾选“ANSI 颜色”. 2) 在.bashrc中添加:export TERM=xter ...
- dp --- 2014 Asia AnShan Regional Contest --- HDU 5074 Hatsune Miku
Hatsune Miku Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5074 Mean: 有m种音符(note),现在要从 ...
- SQL SERVER实例解析
什么是SQL SERVER实例 ------------ SQL SERVER实例的概念和“类与对象”的概念很相似.可以把SQL SERVER的安装程序看做是一个类,安装过程则是创建对象的过程,创建出 ...
- 深入.NET内测题
一 选择题 1) 以下关于序列化和反序列化的描述错误的是( C). a) 序列化是将对象的状态存储到特定存储介质中的过程 b) 二进制格式化器的Serialize()和D ...