文档章节

UI 多控制器

DevShaw
 DevShaw
发布于 2016/02/28 21:08
字数 858
阅读 29
收藏 0

info plist

-products  产品目录
-supporting Files  资源文件放置
- info.plist 项目的配置文件
  • Localization native development region本地化

  • Executable File 可执行文件路径 ***千万不要改

  • Bundle identifier 应用唯一标识

  • infoDictionary version plist文件的版本号

  • bundle name 安装的时候创建的文件夹名称

  • bundle display 安装到桌面的APP名字

  • bundle OS Type code 不要改

  • bundle versions string,short itunes上的版本号

  • bundle version 上传到 APP store 需要用的版本号 比之前的版本号要高

  • launch screen interface file base name 启动界面的配置

  • main storyboard file base name 主storyboard

  • required device capabilities CPU框架

    TARGTS 和 info plist 对应

    学习新东西要弄清这个东西是用来干什么的

Pch文件的作用

-让项目中所有的文件都会导入里面的内容
-可以导入公共的头文件,网络工具类
-可以定义宏,访问路径
-绝对路径
    -$(SRCROOT)/工程名/文件名.pch
重新定义NSlog有什么作用:
#ifdef           DEBUG开发环境
    #define HMLog(...) NSLog(__VA__ARGS)
#else
    #Release     打包上线环境

注意 区分 OC 还是 C

#ifdef __OBJC__

#endif

UIapplication

- 代表整个应用程序,是一个单例的类
  • 在整个程序启动的时候,会创建一个 UIapplication对象,让他来管理 APP

  • 应用图标右上角的数字 **** 注意只能通过注册

程序生命周期

-程序启动时      
-程序进入后台
-程序后台到前台
-程序销毁
-内存警告

程序的启动过程

 -    main.m    C 语言程序的入口
 -    进入iPhone程序入口  UIapplicationMain
  • argc : argv数组的长度

  • argv : 数组的指针

  • principalClassName:UIApplication类

  • delegateClassName:就是 APPdelegate 类

  • 如果第三个参数为 nil, 先会去 info.plist去找NSPrincipaClass.还没有就用UIapplication

    • 为什么要有 APPdelegate ,让程序员在各个阶段做一些操作

UIwindow

  • 去掉main,就没有window了,必须手动代码创建

  • UIwindow是我们程序创建的第一个 view

  • 有了 UIwindow我们程序才能显示界面

  • 必须指定一个根控制器,也可以自己定义控制器

  • 在应用程序中有很多个window,键盘也是一个window,但是只有一个主window

  • 用 alloc 方式创建先找同名的 XIB 然后再找同名的去掉 controller 的 XIB

懒加载loadview

  • 控制器的根view是懒加载创建

  • loadview 的作用就是用懒加载的方式创建控制器的根view 显示的时候会调用loadview 方法

  • 通过 sb,xib 都会走 loadview 方法,并且界面上展示就是 xib/sb 上的内容

  • 代码 init 创建控制器,先找同名的 xib,再去找 controller 的 xib,如果没有创建一个空的控制器内部重写 loadview

  • super loadview 就是创建根view的,如果 super loadview 不写了,那么就自己创建一个 view, 给 self.view

  • 如果是从 xib/sb加载出来的, view 就是从 xib/sb加载出来的,如果代码创建,它就是一个空的

管理控制器的控制器

控制器的生命后期

-viewdidload        视图加载完成
-viewWillAppear     视图将要显示到界面
-viewDidAppear      视图已经显示到界面
-viewWillDisappear  视图将要消失
-viewDidDisappare   视图已经消失-用来销毁根 view
  • viewWillUnload 用来销毁subview 销毁子view

  • viewDidUnload

  • 在使用导航控制器的时候,在开发的时候一定要测试返回(上一个)控制器是否已经销毁



© 著作权归作者所有

共有 人打赏支持
DevShaw
粉丝 6
博文 41
码字总数 26462
作品 0
深圳
程序员
基于Agile Lite开发微信webapp的特点

Agile Lite是一个HTML5移动前端框架,支持jQuery和Zepto双引擎,并且提供与UI无关的独立框架,内置了Flat UI样式和Ratchet样式,同时也支持单页模式和多页模式开发。对于目前比较流行的微信内...

nandy007
2015/07/27
4.4K
8
MVC架构在Android中的体现

MVC概念 MVC的全称是model(模型)-view(视图)-controller(控制器)的缩写,是一种设计典范,是一种业务逻辑、数据、界面显示分离的方法组织代码。其中M层处理数据,业务逻辑等;V层处理界...

sunfish
2016/11/23
27
0
iOS开发-类似微博个人主页效果解决方案之一

微博主页效果指的是多个包含(/)的控制器或view在同一个控制器中展示。 主控制器包含支持下拉放大,包含等类似的控件,解决主控制器中的滑动和滑动的冲突; 多个子控制器都包含或,解决子控...

Kegem
06/05
0
0
angular UI-Router路由

angular UI-Router路由 (重要) 通过 AngularJS 可以实现多视图的单页Web应用。 AngularJS 路由 就通过 # + 标记 帮助我们区分不同的逻辑页面并将不同的页面绑定到对应的控制器上。 angula...

枫之伊信
2017/12/20
0
0
AngularJS之Scope及Controller(一)

前言 之前有接触过基本的AngularJS,未过多涉及,于是乎本系列我们来着重讲讲AngularJS,对AngularJS中重要的几大内容进行梳理并进行一些小的例子的书写。在之前项目过程中用到过avalon,但是...

jeffcky
2016/05/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

谷歌 Fuchsia 上手体验,将取代Android/win10

在手机市场领域,Google表现很抢眼,毫无疑问,Android 至今在移动操作系统的市场份额占据绝对领先地位,但是 Android 仍然存在不少问题,碎片化问题严重,在平板以及大屏幕设备上表现糟糕,...

linux-tao
24分钟前
1
0
List、Array与ArrayList

数组在内存中是连续存储的,所以它的索引速度很快,而且赋值和修改元素也非常快,比如: string[] s=new string[3];//赋值 s[0]="a"; s[1]="b"; s[2]="c";//修改 s[1]="b1"; 但是数组...

shimmerkaiye
27分钟前
0
0
Linux 的Lnmp环境下为mysql添加环境变量

一.问题 在Linux 安装完Lnmp 环境后 , 连接Mysql 告诉没有这条命令 mysql -uroot -p 命令失效 因为是源码安装的,所以会出现这样的的原因 。集成环境是不会出现的。 其实很简单,只需要给m...

15834278076
29分钟前
3
0
apolloxlua include函数

include函数不是单独使用的函数, 他并不是标准库的一部分, 你可以使用include函数将某个后缀为 .aop的文档包含到你的文档流中。 因为include是单独处理流, 所以不会在主处理流程中有所表示...

钟元OSS
32分钟前
0
0
【转载分享】做一名较真的工程师

近些年与我共事过的同事,一定知道我至今仍有一个较真的性格。我会:指出同事所写代码的不当命名问题(并帮助改进);指出同事所写文档中的逻辑混乱问题(并辅以修订);指出同事所写PPT中乱...

HellerZhang
34分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部