你的位置:首页 > 软件开发 > 操作系统 > iOS UINavigationController(内容根据iOS编程编写)

iOS UINavigationController(内容根据iOS编程编写)

发布时间:2016-10-02 10:00:10
我们知道 UITabBarController 对象,可以通过使用该对象,用户可以切换不同的屏幕。当要切换的各个屏幕之间没有相互依存关系的时候,该对象可以很好的完成任务。但是当多个屏幕互有关系的时候,就要使用另一种控制器 UINavigationController 。 ...

iOS UINavigationController(内容根据iOS编程编写)

  我们知道 UITabBarController 对象,可以通过使用该对象,用户可以切换不同的屏幕。当要切换的各个屏幕之间没有相互依存关系的时候,该对象可以很好的完成任务。但是当多个屏幕互有关系的时候,就要使用另一种控制器 UINavigationController 。 事实上,基本上在所有的 APP 中,必不可少的两种控制器。

  我们以 iOS 自带的 设置 应用为例,设置应用拥有多个互有关联的窗口,我们称之为这种界面为 垂直界面

iOS UINavigationController(内容根据iOS编程编写)iOS UINavigationController(内容根据iOS编程编写)iOS UINavigationController(内容根据iOS编程编写)iOS UINavigationController(内容根据iOS编程编写)

 

  下面我们将使用 UINavigationController 对象将 JXHomepwner 对象加入到 垂直界面 。项目地址 

  • UINavigationController 对象

  当某个应用通过 UINavigationController 对象显示多个屏幕的信息时,相应的 UINavigationController 对象会以栈的形式保存所有屏幕的信息。这里的栈是一个数组对象,保存的都是 UIViewController 对象。一个 UIViewController 对象的视图对应一个屏幕。只用位于栈顶的 UIViewController 对象,其视图才是可见的。

  初始化 UINavigationController 对象时,需要传入一个 UIViewController 对象。这个 UIViewController 对象将成为 UINavigationController 对象的 根视图控制器(root view controller),且根视图控制器将永远位于栈底。应用可以在运行时向 UINavigationController 的栈底压入更多的视图控制器。

  将某个视图控制器压入 UINavigationController 对象的栈时,新加入的视图控制器的视图会从窗口右侧推入。出栈时, UINavigationController 对象会移除位于栈顶的视图控制器,其视图会向窗口右侧推出,然后用户会看见仅次于栈顶位置的视图控制器的视图。

  类似于 UITabBarController 对象, UINavigationController 对象有一个名为  viewControllers 的属性,指向一个负责保存视图控制器的数组对象。在这个数组对象中,根视图控制器是第一个对象。当应用将某个视图控制器压入栈后,UINavigationController 对象会将新加入的对象加在  viewControllers 数组的末尾。因此,该数组中的最后一个视图控制器会位于栈的顶部。UINavigationController 对象的  topViewController 属性是一个指针,指向当前位于栈顶的视图控制器。

  UINavigationController 是 UIViewController 的子类,所以 UINavigationController 对象也有自己的视图。该对象的视图有两个子视图:一个是 UINavigationBar 对象,另一个是  topViewController 的视图。和其他视图控制器一样,可以将 UINavigationController 对象设置为 UIWindow 对象的  rootViewController ,从而将该对象的视图作为子视图加入窗口。

  首先为项目添加一个 UINavigationController 对象。

#import "AppDelegate.h"#import "JXItemsViewController.h"@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];    // 添加初始化代码  // 创建 JXItemsViewController 对象  JXItemsViewController * itemsViewController = [[JXItemsViewController alloc] init];    // 将 JXItemsViewController 的标示图加入窗口  self.window.rootViewController = itemsViewController;    // 将 UINavigationController 对象设置为 UIWindow 对象的根视图控制器。  // 这样就可以将 UINavigationController 对象的视图添加到屏幕中  UINavigationController * navController = [[UINavigationController alloc] initWithRootViewController:itemsViewController];  self.window.rootViewController = navController;    self.window.backgroundColor = [UIColor whiteColor];    [self.window makeKeyAndVisible];  return YES;}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:iOS UINavigationController(内容根据iOS编程编写)

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。