【问题标题】:iOS - view from table view won't display nav bariOS - 表格视图中的视图不会显示导航栏
【发布时间】:2014-08-05 06:06:12
【问题描述】:

所以我有一个导航控制器通向一个表格视图,它通向一个详细视图。有一个添加按钮指向另一个表格视图,可以从联系人列表中进行选择。当我选择完成时,我想引导到一个新的详细视图,但导航栏不会显示。下面是 IB 的图片:

所以我想从联系人视图控制器移动到 Convo 视图控制器,但保持导航项正常工作。

按下 DONE 按钮时执行的代码:

- (IBAction)doneButtonPressed:(UIBarButtonItem *)sender {
   BOOL sharing = NO;
   if ([self.referrer isEqualToString:@"mapView"]) sharing = YES;
   Convo *newConvo = [[Convo alloc] initWithMembers:self.selectedContacts 
                                                             sharing:sharing];
   // add newConvo to convos list

   ConvoViewController *convoVC = [self.storyboard   
                        instantiateViewControllerWithIdentifier:@"convoView"];
   convoVC.convo = newConvo;
   NSLog(@"%@", [convoVC.convo memberListToString]);
   [self presentViewController:convoVC
                      animated:YES
                    completion:nil];
}

感谢您的帮助!

【问题讨论】:

  • 什么导航栏不会显示?你认为你应该在 convoVC 中拥有的那个?
  • 是的。目前它只是那里的“名称”标题,但在运行时不会显示。
  • 这是因为 convoVC 是一个新实例,与您在故事板上的实例无关,而且由于您没有将它嵌入到导航控制器中,所以它不会有一个。
  • 那么我该如何更改它以允许我从联系人 VC 移动到 convo VC,并且 convo VC 上的后退按钮可以转到主 VC?

标签: ios objective-c xcode uitableview uinavigationcontroller


【解决方案1】:

我会做你想做的事,将 ContactsViewController 嵌入到它自己的导航控制器中,然后(从 Done 按钮)转到 ConvoViewController 的新实例(标题为“ConvoViewController”的实例) .在那个控制器中,我有一个名为“Main Table”的条形按钮项,它连接到展开回 MasterViewController 的展开 segue。这是设置,

【讨论】:

  • 谢谢,但很抱歉,我可能不清楚我希望它具体做什么。我想从联系人视图控制器转到 convo 视图控制器,然后在 convo 视图控制器上能够移回主视图控制器。
  • @mcw,这就是我在回答中展示的情节提要所做的。两个橙色控制器都是 ConvoViewControllers,但它们是不同的实例(它们也会以您的方式进行)。我假设您想在细节控制器中显示不同的信息,具体取决于您是从 MasterViewController 还是 ContactsViewController 获得的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 2021-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多