将导航控制器与选项卡栏控制器相结合

2023-11-22

正如我在标题中提到的,我想添加Navigation Controller到我的应用程序已经有一个Tab Controller。所以尝试给员工做一些类似的事情page。无论如何,有些事情是错误的。UINavigationController正在寻找空白页面,即使有视图和一些库。

让我从头开始:

In my AppDelegate,我设置标签栏控制器如下:

@interface MYAppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UITabBarController *tabBarController;

@end

这是 .m 文件:

@implementation MYAppDelegate

@synthesize window = _window;
@synthesize tabBarController = _tabBarController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    application.applicationSupportsShakeToEdit = YES;
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    UINavigationController *viewController1 = [[[MYMainViewController alloc] init] initWithNibName: @"MYMainViewController" bundle:nil];
    UIViewController *viewController2 = [[[MYPageViewController alloc] init] initWithNibName:@"MYPageViewController" bundle:nil];
    UIViewController *viewController3 = [[[MYSearchViewController alloc] init] initWithNibName:@"MYSearchViewController" bundle:nil];
    UIViewController *viewController4 = [[[MYPersonViewController alloc] init] initWithNibName:@"MYPersonViewController" bundle:nil];

    // Initialize tabBarController and add ViewControllers
    self.tabBarController = [[UITabBarController alloc] init];
    self.tabBarController.viewControllers = [NSArray arrayWithObjects: viewController1, viewController2, 
        viewController3, viewController4, nil];

    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];

    return YES;
}

那么,这里是MYMainViewController实现是一个UINavigationController:

- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"%@", [self navigationController]); // Logging null
}

我的 .xib 文件有一个UINavigationController并且其中有一个视图。尽管如此,当我使用该应用程序时,有空白页面和无标题的导航栏。我究竟做错了什么?

如果我可以看到视图的内容,我想使用后退按钮在两个视图控制器之间导航。

任何帮助或方法对我来说都会很棒。


尝试从 xib 中删除导航控制器,使其只有视图控制器,然后以编程方式初始化导航控制器:

UIViewController *tmpViewController1 = [[[YourViewController alloc] init] initWithNibName:@"YourViewController" bundle:nil];
 UINavigationController *viewController1 =  [[UINavigationController alloc] initWithRootViewController:tmpViewController1];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将导航控制器与选项卡栏控制器相结合 的相关文章

随机推荐

  • Jhipster + REST 客户端 + 身份验证

    我需要了解如何验证 REST 客户端 可能是 Paw 可能是 Android 应用程序 使用 AFNetworking 和 jHipster 的 iOs 应用程序 我认为 更一般地说 使用 spring boot 我不是这方面的专家 虽然我
  • 使用 useEffect 更新 useReducer 'state'

    在我的应用程序中 我使用 React Hooks Context API 现在 每当我的 Provider 组件安装时 我都需要将从 localStorage 获取的数据分配给initialState carts state carts 如
  • 我可以将任意函数传递给 Scala 中的另一个函数吗?

    我是 Scala 的新手 能够将函数传递给其他函数非常巧妙 但是我可以传递一个随意的函数引用另一个函数 所述函数参数的数量将是固定的 也就是说 我也很好奇是否也可以传递具有任意数量的函数 我总是被类型错误绊倒 我尝试过使用Any但这似乎没有
  • 如何使用 iPhone 的 json 解析对象数组

    我在解析 JSON 结果中的对象数组时遇到问题 first name vijay last name last creditCardNumber 178978977779787979 month 02 year 2012 address A
  • 打开远程文档并保存回远程服务器

    我为我的办公室编写了一个在服务器上运行的网络应用程序 我们所有的文档也都在服务器上 我希望能够让用户通过我的网络应用程序浏览服务器上的文件夹 在编辑器 在线或桌面 中打开它 能够编辑它并将其保存回服务器的位置被打开 我一直在研究 Googl
  • Java:确定当前 Windows 用户的编程方式

    我看到很多类似的问题 但是我想使用 Java 查找当前登录用户的用户名 它可能是这样的 System getProperty current user 但是 我不太确定 你实际上非常接近 这就是您正在寻找的 System getProper
  • MemoryStream,无法访问关闭的流

    随着sharpPDF我生成一个 pdf 内存流 我想通过电子邮件直接发送它 但是 ms Seek 行给出了一个 ObjectDisposeException 无法访问关闭的流 pdf CreatePDF 方法采用 输出 文件名字符串或 输出
  • 如何为在 main() 外部和内部声明的变量分配内存

    我注意到 在处理一些大型数组 例如双倍 1000 x 1000 时 如果我在 main 内部声明数组 则我的程序会耗尽内存 但如果我在 main 外部声明数组 则这种情况似乎永远不会发生 即使是更大的阵列 有人可以解释一下区别是什么吗 当在
  • 如何同时更新结构体的多个字段?

    假设我有一个结构 struct Vector3 float x float y float z 注意sizeof Vector3 必须保持不变 编辑 我对没有设置器的解决方案感兴趣 我们不要创建该结构的实例Vector3 pos 我怎样才能
  • 如何从 tsv 文件中提取第一列?

    我有一个包含一些数据的文件 我想仅使用第一列作为我的脚本的标准输入 但我在提取它时遇到问题 我尝试使用这个 awk F t print 1 inputs tsv 但它只显示第一列的第一个字母 我尝试了其他一些操作 但它要么显示整个文件 要么
  • Python 3 C API 中的文件 I/O

    Python 3 0 中的 C API 已更改 弃用 文件对象的许多函数 之前 在 2 X 中 您可以使用 PyObject PyFile FromString char filename char mode 创建一个 Python 文件对
  • 循环遍历 Excel 工作表

    我有以下代码 我希望它在工作簿的其他 25 个工作表中运行 而不是重复代码 25 次 对于每个工作表 有没有办法让它循环 有人可以帮忙吗 Sub DeleteEmptyRows Dim ws As Worksheet Dim strSear
  • 如何在 selenium-webdriver 中获取窗口标题、id 和名称?

    我正在尝试实施以下方法硒网络驱动程序 ruby 获取所有窗口 ID 获取所有窗口标题 获取所有窗口名称 我运行 Selenium IDE 并将脚本导出到 Ruby Test Unit 将其另存为 rb 使用 Aptana Studio 3
  • 为什么 Delphi 说“无法解析单位名称 xxx”?

    我正在使用 Delphi2010 Enterprise Update 4 当我在 IDE 中打开项目并显示主窗体代码时 有2个单位名称用红色下划线表示 xxx http img268 imageshack us img268 6475 un
  • 如何将宽度设置为 50%

    我有一个水平方向的 LinearLayout 和 2 个 ImageView 我想让 ImagesView 填充屏幕宽度的 50 以便在不同尺寸的每部手机或平板电脑上工作 像这样的东西 50 50 迄今为止最好的
  • 从析构函数中调用虚函数

    这样安全吗 class Derived public PublicBase private PrivateBase Derived FunctionCall virtual void FunctionCall PrivateBase Fun
  • C# 问题:如何将 DataGridView 中所做的更改保存回所使用的 DataTable?

    我从 DataSet 获取 DataTable 然后将该 DataTable 绑定到 DataGridView 一旦用户编辑了 DataGridView 上的信息 我如何获取这些更改并将它们放回到使用过的 DataTable 中 然后我可以
  • 为什么 SonarQube 重新打开标记为误报的问题?

    我们的组织刚刚开始使用 SonarQube 我们看到了一些对我们来说似乎很奇怪的东西 我们有一个插件 允许用户将问题标记为 误报 但我们标记为 误报 的任何问题都会在下次 SonarQube 运行时将其状态重置为 打开 对于标记为 无法修复
  • 使用 Python 以编程方式检测 Windows XP 上的系统代理设置

    我开发了一家跨国公司使用的关键应用程序 全球各地办公室的用户都需要能够安装此应用程序 该应用程序实际上是 Excel 的一个插件 我们有一个基于 Setuptools 的 easy install 的自动安装程序 可确保用户每次打开 Exc
  • 将导航控制器与选项卡栏控制器相结合

    正如我在标题中提到的 我想添加Navigation Controller到我的应用程序已经有一个Tab Controller 所以尝试给员工做一些类似的事情page 无论如何 有些事情是错误的 UINavigationController正