【问题标题】:present navigation controller from another navigation controller从另一个导航控制器呈现导航控制器
【发布时间】:2014-10-27 21:40:24
【问题描述】:

我有一个嵌入在UINavigationController 中的UIViewController,我想从第一个导航控制器的UIViewController 中展示另一个导航控制器。

问题是,当我展示和关闭 UINavigationController 第一个导航控制器的后退按钮消失时,我想展示 navCtrl 而当我关闭它时,第一个 UINavigationController 的后退按钮仍然存在

VendorsViewController* vendorsVC = [[VendorsViewController alloc]initWithNibName:@"VendorsViewController" bundle:nil];
NSMutableArray* vendorListArray = [NSMutableArray arrayWithArray:self.cachedVendorList.crossSearchResults];
[vendorListArray insertObject:@"All Vendors" atIndex:0];
UINavigationController* navCtrl = [[UINavigationController alloc]initWithRootViewController:vendorsVC];
[self.navigationController presentModalViewController:navCtrl animated:YES];

【问题讨论】:

  • 如何关闭第二个 navigationController?
  • @FahimParkar 这不是真的,你的意见来自哪里?
  • 第一个导航控制器的堆栈中有多少个视图控制器?如果只有一个,则不应有后退按钮。如果没有,假设您在第一个 navCtrl 的第二个视图控制器中显示了第二个 navCtrl,当第二个 navCtrl 被解除时,应该有一个后退按钮。
  • 尝试呈现在 self 而不是 self.navigationController

标签: ios objective-c uinavigationcontroller


【解决方案1】:

创建您的第二个UINavigationController 并将其rootViewController 设置为您的UIViewController。然后在您的UIViewController 上设置一个按钮/控件,其中包含关闭您的UIViewController 的操作。

- (IBAction)dismiss:(id)sender
{
    [self.presentingViewController dismissViewControllerAnimated:YES
                                                      completion:nil];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    • 2020-10-02
    • 2020-09-25
    • 1970-01-01
    相关资源
    最近更新 更多