代码之家  ›  专栏  ›  技术社区  ›  Leonardo

以编程方式创建UINavigationController

  •  0
  • Leonardo  · 技术社区  · 16 年前

    只是因为我找不到一个安全的方法来定制uitabar,特别是uitabaritem,我正在尝试一些解决方法。 我有一个主视图,在主视图上我重新创建了一种UITabBar,一个普通视图,里面有两个按钮。这是(大致)当前的层次结构:

    -主视图

    --法克他(UIView)

    我想做的是,在fakeTab中点击一个按钮后,构建一个UINavigationController并将其添加到“placeholder”视图中,这样fakeTab保持在顶部,整个导航在占位符级别上进行。

    我已经尝试过用这段代码在方法中截取tap按钮,它工作了,我可以看到ipvc.视图已添加到占位符。

    IPPlantsViewController *ipvc = [[IPPlantsViewController alloc] initWithNibName:@"IPPlantsView" bundle:[NSBundle mainBundle]];
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:ipvc];
    UIView *placeholder = [self.view viewWithTag:200];
    [placeholder addSubview:ipvc.view];
    

    但后来当我从ipvc内部打电话时,什么也没发生:

    IPAttributes *ipas = [[IPFactory findPlantByIndex:indexPath.row] attrs];
    [self.navigationController pushViewController:ipa animated:YES];
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Leonardo    16 年前

    我自己找到解决办法。我做错的是将ipvc控制器视图附加到占位符。与其这样做:

    [placeholder addSubview:nav.view];
    

    一切如期而至,我的假tabbar完全定制了:-)

    但是,作为旁注,视图似乎永远不会被调用。