我是iPhone开发的新手。 我的应用程序基于UInavigationBar。 我想在我的一个xib中添加导航栏项,但在.xib中我只是模拟导航栏,所以我无法拖放项目。谢谢
答案 0 :(得分:0)
您需要以编程方式添加导航栏按钮。你看,你的xib有一个在UINavigationController的内容视图中显示的视图。它是您的应用程序可以访问的UINavigationBar,它控制导航栏项目。正如您所指出的,您的xib只有一个导航栏的占位符,这对您来说非常方便,因此您可以在布局时正确调整视图大小。
在xib的UIViewController中,你可以添加一个视图相应的导航栏项目,其代码类似于
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]
initWithTitle:@"View" style:UIBarButtonItemStylePlain
target:self
action:@selector(viewControls:)] autorelease];
这有意义吗?
答案 1 :(得分:0)
为了能够将项目添加到UINavigationBar中,您需要先在视图中添加UINavigationBar,然后向其中添加项目。
您无法在模拟导航栏上拖放项目。如果您通过其他方式或代码添加导航栏,则可以使用模拟导航栏确保您可以正确估计视图大小。
答案 2 :(得分:0)
您应该使用UINavigationController进行基于导航的层次结构。这将照顾很多关于如何使导航按照您的意愿工作的细节。我还建议以编程方式设置所有内容。以下是你将如何做到这一点。
// Initial setup of navigation
YourViewController *yvc = [[YourViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:yvc];
[[self view] addSubview:[nav view]];
然后当你想要一个新的视图控制器(你通常看到的动画滑动)时,你就这样做了
// From inside 'YourViewController',
// this is normally when the user touches a table view cell
NewViewController *nvc = [[NewViewController alloc] init];
[self.navigationController pushViewController:nvc];
如果您想更改标题或按钮,请执行此操作
// This is normally in viewDidLoad or something similar
[self.navigationItem setTitle:@"Hello World!"];
[self.navigationItem.rightBarButtonItem:/* A UIBarButtonItem */];