iOS:在标签 View 中弹出 subview

标签 ios uinavigationcontroller tabview

iOS 的新手问题 -- 我真的很困惑导航 View 在选项卡 View 中的工作方式。

现在我有一个包含 2 个 View 的 tabview。在第二个选项卡中,我有一个按钮。单击该按钮后,我希望显示一个新窗口并显示一些信息,并且新窗口顶部需要一个返回按钮以返回到第二个选项卡。

我按照一些教程将 NavigationController 放在 secondTab.xib 中,添加了行

@property (nonatomic, retain) IBOutlet UINavigationController *navController; 

secondTab.h,和

NewWindowController *newWindow = [[NewWindowController alloc] initWithNibName:@"NewWindowController" bundle: nil];
[self.navController pushViewController:newWindow animated:YES];
NSLog(@"clicked");

到我的 -(IBAction) button implementation click: (id)sender

当我单击第二个选项卡中的按钮时,日志显示“已单击”,但我的 View 没有改变。

是否需要为文件所有者/导航 Controller 网点/引用网点等更改某些设置...?

谢谢!

最佳答案

你不需要 UINavigationController 的属性,你想像这样推送到当前的导航 Controller 上:

NewWindowController *newWindow = [[NewWindowController alloc] initWithNibName:@"NewWindowController" bundle: nil];
[self.navigationController pushViewController:newWindow animated:YES];
NSLog(@"clicked");

当 UIViewController 与 UINavigationController 相关联(即它是导航 Controller 层次结构的一部分)时,将设置其 navigationController 属性,因此您可以像我展示的那样访问它。

关于iOS:在标签 View 中弹出 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8288970/

相关文章:

android - 尝试了解在我的场景中非规范化与 firebase 数据库的配合情况

objective-c - UINavigationController 未显示

iphone - 如何通过自定义 UITableViewCell 的按钮单击来 popViewController

nativescript - 隐藏 Nativescript-Angular TabView 上的选项卡按钮

iOS TabView 与 Unity3D 集成

安卓 list .xml

ios - 将变量从 iOS 传递到 watchOS

ios - obj c 创建一个对象并没有真正起作用,在将几个新对象插入 NSMutuableArray 之后,我总是得到最后插入的对象

ios - 标签的内容正在堆栈 View 中被裁剪

iphone - UINavigationController 呈现空白 View