IOS学习七:UINavigationController控件的初步
现在说下大致步骤
1.首先还是创建一个工程
然后这边我们不用MainWindow.xib方式来实现布局了。
直接代码实现。
我们都知道在应用启动后要创建一个window啊什么的。然后window的根视图等等。这个一般是AppDelegate中完成
[cpp]
//
// NonoAppDelegate.m
// NavTest
//
// Created by Nono on 12-4-26.
// Copyright (c) 2012年 NonoWithLilith. All rights reserved.
//
#import "NonoAppDelegate.h"
#import "NonoFirstLevelViewController.h"
@implementation NonoAppDelegate
@synthesize window = _window;
@synthesize navController = _navController;
- (void)dealloc
{
[_window release];
[_navController release];
[super dealloc];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//应用的第一层是个window
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
//放在window上的根视图
UINavigationController *nc = [[UINavigationController alloc] init];
self.navController = nc;
[nc release];
NonoFirstLevelViewController *tableVc = [[NonoFirstLevelViewController alloc] initWithNibName:@"NonoFirstLevelViewController" bundle:nil];
//将First作为控制器的顶级视图。 www.2cto.com
[self.navController initWithRootViewController:tableVc];
[tableVc release];
self.window.rootViewController = self.navController;
self.window.backgroundColor = [UIColor redColor];
[self.window makeKeyAndVisible];
return YES;
}
视图放置顺序基本就是 window ——NavigationC——FirstLevelVC。
然后我们会看到蓝色的导航条上的标题,以及后面要涉及到的回退,操作按钮。
IOS开发中得操作习惯一开始还是很难适应的。
理论上来说对于蓝色框内(也就是导航条本身的设置),我们应该是获取navc对象本身来进行操作,但是貌似
熟悉了代码后,发现对于导航条上修改和设置是通过当前被展示得视图的视图控制去设置。
下面我们看下FirstLevel,也就是导航控制器中顶级视图实现类的部分代码
[cpp]
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"第一级视图";
// self.navigationItem.title = @"第一级视图";//设置导航控制标题
//实现一个右边按钮,默认顶级视图是没有左右按钮的
UIBarButtonItem *rigthButton = [[UIBarButtonItem alloc] initWithTitle:@"编辑" style:UIBarButtonItemStyleBordered target:self action:@selector(editButtonPressed:)];
self.navigationItem.rightBarButtonItem = rigthButton;
[rigthButton release];
//实例化一个可变数组
NSMutableArray *array = [[NSMutableArray alloc] init ];//
self.controllers = array;
[array release];
[self initAllSecondControllers:self.controllers];
&
相关新闻>>
- 发表评论
-
- 最新评论 更多>>