文档章节

控制器管理

天边那束阳光
 天边那束阳光
发布于 2014/10/11 20:47
字数 474
阅读 17
收藏 0

如何创建一个控制器

1.通过storyboard创建

XViewController *Xview = [[XViewController alloc] init];

2.指定xib文件创建

XViewController *Xview = [[XViewController alloc] initWithNibName:@"XViewController" bundle:nil];

控制器中view的创建

1.view的创建过程

if(loadView) 根据loadView代码实现创建
else if(storyboard) 根据storyboard描述创建
else if(nibName) 根据nibName对应的xib的描述创建
else if(控制器名-Controller.xib) 根据此xib描述创建
else if(控制器名.xib) 根据此xib描述创建
else 创建一个空得view

2.控制器view的延迟加载

    用到得时候才会加载

    可以用isViewLoaded方法判断一个UIViewController的view是否已经被加载

    控制器的view加载完毕就会调用viewDidLoad方法

多控制器UINavigationController的简单使用

•UINavigationController的使用步骤

1.初始化UINavigationController

2.设置UIWindow的rootViewController为UINavigationController

3.根据具体情况,通过push方法添加对应个数的子控制器

UINavigationController的子控制器

•UINavigationController以栈的形式保存子控制器

@property(nonatomic,copy) NSArray *viewControllers;

@property(nonatomic,readonly) NSArray *childViewControllers;

•使用push方法能将某个控制器压入栈

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;

•使用pop方法可以移除控制器 Ø将栈顶的控制器移除

- (UIViewController *)popViewControllerAnimated:(BOOL)animated;

回到指定的子控制器

- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated;

回到根控制器(栈底控制器)

- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;

修改导航栏内容

•导航栏的内容由栈顶控制器的navigationItem属性决定
•UINavigationItem有以下属性影响着导航栏的内容
左上角的返回按钮

@property(nonatomic,retain) UIBarButtonItem *backBarButtonItem;

中间的标题视图

@property(nonatomic,retain) UIView          *titleView;

中间的标题文字

@property(nonatomic,copy)   NSString        *title;

左上角的视图

@property(nonatomic,retain) UIBarButtonItem *leftBarButtonItem;

右上角的视图

@property(nonatomic,retain) UIBarButtonItem *rightBarButtonItem;


© 著作权归作者所有

共有 人打赏支持
天边那束阳光
粉丝 1
博文 10
码字总数 4787
作品 0
郑州
iOS 构造三级控制器

前言:最近随着公司SDK的日趋稳定,终于能腾出时间来写一点技术上的问题。 何为三级视图控制器?即 标签控制器 -> 导航控制器 -> 视图控制器,这就叫三级视图控制器。一个导航控制器对应于一...

卢叁
2017/11/10
0
0
标签控制器原理

#import "AppDelegate.h" #import "FirstViewController.h" #import "SecondViewController.h" #import "ThirdViewController.h" #import "ForthViewController.h" #import "FifthViewContro......

鹿微微鹿
2016/04/17
4
0
windows server 2016 活动目录(一)

身份验证:对象&对象信息,数据库,网络协议 本地身份验证:SAM文件-本地数据库 对象:用户名-SID 网络身份验证(AD(数据库)DS(身份验证服务)) 授权:对象(用户和组),资源,ACL列表 ...

haitao0228
04/20
0
0
《Windows Server 2012活动目录管理实践》 内容提要、前言

内容提要 Windows域的核心价值是身份验证系统。域从出现(Windows NT)到现在(Windows Server 2012 AD DS域服务)已经经过了15年的时间,从初期单纯身份验证功能到现在的企业管理中枢,已经...

wangshujiang
06/26
0
0
IOS开发之导航控制器原理

#import "AppDelegate.h" #import "FirstViewController.h" #import "SecondViewController.h" #import "ThirdViewController.h" #import "ForthViewController.h" @interface AppDelegate (......

鹿微微鹿
2016/04/17
20
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
32分钟前
3
0
invalid character found in the request target 异常

这个异常时因为Tomcat 9不支持请求格式出现“{”等非法字符的问题 因为tomcat版本问题遇到的坑,记录一下。 问题 今天由于要测试一下订单详情页的异步查询,在本地起了一个服务,发送的请求是...

edwardGe
36分钟前
4
0
发现抓包软件fiddler的bug

1个请求他跳转之后,直接400,被拦在了Apache,使用fiddler 的,replay requests 是同样的结果,但是replay composer确是正常的。 也就是说这replay requests 是发原来的包,replay composer...

NLGBZJ
47分钟前
1
0
linux screen 命令详解

shell关闭后, 主机仍然运行 screen命令 启动jenkins以后, screen, 然后按ctrl+a 再按d 这样暂停了子界面, 这时候回到了父界面 用screen –ls查看目前子界面的状态 [root@free /]# screen -l...

SuShine
47分钟前
4
0
mac机器切换无线网络导致网页不能打开的问题

问题: 公司和家里使用不同的WI-FI,每次从家到公司时自动切换网络后,公司的许多地址不能访问, ping域名是可以ping同的,但是网页却打不开... 问题分析: 初步猜想是DNS缓存的问题? 对于MAC系统没...

Lennie002
50分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部