在 iPhone 中使用模态视图将条形按钮添加到导航栏

Posted

技术标签:

【中文标题】在 iPhone 中使用模态视图将条形按钮添加到导航栏【英文标题】:Add barButtons to navigationbar with modalView in iPhone 【发布时间】:2010-07-14 17:30:20 【问题描述】:

在我的应用程序中,我展示了一个顶部带有导航栏的 modalViewController,但我无法将 barbuttons 添加到导航栏。我正在使用以下代码:

displayController = [[UIViewController alloc]initWithNibName:nil bundle:nil];

UINavigationController *cntrol = [[UINavigationController alloc] initWithRootViewController:displayController];

[displayController setTitle:@"TEST"];


UIBarButtonItem *submit = [[UIBarButtonItem alloc]
                            initWithBarButtonSystemItem:UIBarButtonSystemItemDone
                            target:self
                            action:@selector(displayViewForPosts)];

displayController.navigationItem.rightBarButtonItem = submit;
[submit release];

UIBarButtonItem *newsfeed = [[UIBarButtonItem alloc]
                           initWithBarButtonSystemItem:UIBarButtonSystemItemDone
                           target:self
                           action:@selector(displayViewForPosts)];
displayController.navigationItem.leftBarButtonItem = newsfeed;
[newsfeed release];

[self presentModalViewController:cntrol animated:YES];
[cntrol release];
[displayController release];

【问题讨论】:

【参考方案1】:
UIViewController *detailViewController = [[UIViewController alloc] initWithNibName:nil bundle:nil];

UINavigationController *cntrol = [[UINavigationController alloc] initWithRootViewController:detailViewController];

[detailViewController setTitle:@"TEST"];


UIBarButtonItem *submit = [[UIBarButtonItem alloc]
                           initWithBarButtonSystemItem:UIBarButtonSystemItemDone
                           target:self
                           action:@selector(displayViewForPosts)];
detailViewController.navigationItem.rightBarButtonItem = submit;
[submit release];


[self.navigationController presentModalViewController:cntrol animated:YES];
[cntrol release];

【讨论】:

感谢 Aaron 的回复,但它仍然无法正常工作。我已经用更新的代码编辑了我的问题。你能告诉我哪里出错了吗? 你有什么问题?模态视图还没有显示吗? 不,modalview 之前也出现了。我不知道是怎么回事,但是按钮突然出现了。谢谢你的帮助。 好的,有一个问题.. 这些按钮的显示就像普通的工具栏按钮一样,没有导航栏按钮的方向。我想要那些对用户更好的方向按钮。 我在看这个,我越来越觉得你不想使用 presentModalViewController,我想你只是想将新视图推送到现有的 navigationController 堆栈上。你选择 presentModalViewController 有什么原因吗?

以上是关于在 iPhone 中使用模态视图将条形按钮添加到导航栏的主要内容,如果未能解决你的问题,请参考以下文章

iPhone:在模态视图标签栏中创建滚动图像/文本视图

iphone - 将子视图添加到窗口后无法推送模态视图?

将关闭按钮添加到部分不在视图中的模态视图

如何将关闭按钮添加到 UIModalPresentationPageSheet 中显示的模态视图角?

在表格中的视图按钮上添加模态

xcode / storyboard:无法将栏按钮拖动到顶部的工具栏