Search This Blog

Thursday, October 29, 2009

NavigationItem浅析



NavigationBar是我们经常用到的iPhone控键。此控键的左右两边常常会有一些方便的按钮,在下看来这个设计是iPhone整个界面系统最为杰出的设计之一。它有效的利用了不算富裕的iPhone屏幕,而且置于NavigationBar两端的NavigationItems对于用户操作性而言是相当方便的。






以上就是一些常用的NavigationItems
左上带尖角的"Book Ride"其实是一个backBarButton默认下是显示上一个View的title
当然你也可以通过以下代码修改backBarButton的Title切记target:nil action:nil
特别的是,此
backBarButton控键是上一个View的属性,再下一个bushed View中显示,
当然如果你在下一个view中override了leftBarButtonItem 那么次控键将会自动被覆盖。

// Init the back button
UIBarButtonItem *backBarButtonItem = [[[UIBarButtonItem alloc]
initWithTitle:@"Book Ride"
style:UIBarButtonItemStylePlain
target:nil action:nil] autorelease];
self.navigationItem.backBarButtonItem = backBarButtonItem;


中间的“Home”是一个普通的 leftBarButtonItem

// Init the left button
UIBarButtonItem *leftBarButtonItem = [[[UIBarButtonItem alloc]
initWithTitle:@"Home"
style:UIBarButtonItemStylePlain
target:self action:@selector(cancelAction)] autorelease];
self.navigationItem.leftBarButtonItem = leftBarButtonItem;


右边的"Compose"是一个系统模式的的rightBarButtonItem控贱,系统自带图表有很多种选择

UIBarButtonItem *barButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemCompose
target:self action:@selector(compose:)];
self.navigationItem.rightBarButtonItem = barButton;


左下的黄色"Done"控键其实是一个 Custom 的自定义 rightBarButtonItem

// init the done Button
UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
doneButton.frame = CGRectMake(0.0, 0.0, 60.0, 30.0);
[doneButton setTitle:@"Done" forState:UIControlStateNormal];
[doneButton setTitleColor:BUTTON_TITLE_COLOR forState:UIControlStateNormal];
[doneButton setBackgroundImage:[UIImage imageNamed:@"bg-principalbtn-curves.png"] forState:UIControlStateNormal];
[doneButton addTarget:self action:@selector(doneActive) forControlEvents:UIControlEventTouchUpInside];

No comments:

Post a Comment