iOS UIBarButtonItem 链接到 ViewController

Posted

技术标签:

【中文标题】iOS UIBarButtonItem 链接到 ViewController【英文标题】:iOS UIBarButtonItem link to ViewController 【发布时间】:2015-09-08 13:21:09 【问题描述】:

我有一个关于 UIBarButtonItem 链接到情节提要中的另一个 ViewController 的问题。在这个顶部栏中,我在右侧有 2 个图标,使用数组执行此操作:

[self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects:_meetupButton, _searchButton, nil]];

两个按钮都可以在控制台中使用,但是当我想使用 meetupButton 导航到另一个 ViewController 时,它不起作用。

故事板名称是 Main ViewController 正确链接到MeetupStartViewController

当他运行以下代码时,他崩溃了。我做错了什么?

- (void)toggleMeetup:(UIButton *)button 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
    UIViewController * vc = [storyboard instantiateViewControllerWithIdentifier:@"MeetupStartViewController"];
    [self presentViewController:vc animated:YES completion:nil];

错误日志:

2015-09-08 15:46:46.554 APPNAME[2267:530587] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“Storyboard () 不包含标识符为“MeetupStartViewController”的视图控制器'' * 首先抛出调用栈: (0x184e9022c 0x196b640e4 0x189eced3c 0x1000f90f0 0x1899411ec 0x1899411ec 0x18992a2c8 0x189940b88 0x189940814 0x189939d50 0x18990cf74 0x189bae124 0x18990b488 0x184e47f8c 0x184e47230 0x184e452e0 0x184d70f74 0x18e7cb6fc 0x189972d94 0x1000a2764 0x19720ea08),点击 libc++abi.dylib:以 NSException 类型的未捕获异常终止 (lldb)

MeetupStartViewController 是一个 Swift 类,其他代码是 Objective-C。

【问题讨论】:

你能粘贴崩溃日志吗? 抱歉我忘记了,看我的帖子。 您是否在 Storyboard 中为 MeetupStartViewController 设置了显式 ID?好像找不到? 是的,这就是解决方案,我在 Storyboard ID 视图中添加了一个名称,并用这个名称替换了类名。现在可以了。 【参考方案1】:

您似乎没有为 MeetupStartViewController 设置所需的 ID。

为此,请进入故事板,选择 MeetupStartViewController。 选中复选框:使用 Storyboard ID 并在 StoryboardID 框中写入“MeetupStartViewController”。这是一个视觉示例:

【讨论】:

以上是关于iOS UIBarButtonItem 链接到 ViewController的主要内容,如果未能解决你的问题,请参考以下文章

使用 UISearchController 时,iOS 13 UIBarButtonItem 不可点击和重叠 UINavigationBars

UIBarButtonItem 如何禁用辅助功能 (iOS)

IOS swift UIBarButtonItem 动作

如何在 UINavigationBar [iOS 7] 中编辑左、右 UIBarButtonItem 的空白

iOS 7 UIBarButtonItem 荒谬的间距问题

ios7导航栏左UIBarButtonItem问题