【问题标题】:Present storyboard view controller from third party library从第三方库展示故事板视图控制器
【发布时间】:2015-08-04 13:42:48
【问题描述】:

我已经使用 cocoapods 安装了第三方库,并试图在我的项目 viewDidLoad 中展示库中包含的情节提要。我相信我下面的代码应该可以工作

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"library.storyboard" bundle:nil];
WrapperViewController *myVC = (WrapperViewController*) [storyboard instantiateViewControllerWithIdentifier:@"libraryStoryboard"];
[self presentViewController:myVC animated:YES completion:nil];

但由于未捕获的异常“NSInvalidArgumentException”,我在运行终止应用程序时收到此错误,原因:“在捆绑包 NSBundle 中找不到名为“library.storyboard”的故事板。

任何想法为什么这不会建立?

【问题讨论】:

    标签: ios objective-c xcode storyboard cocoapods


    【解决方案1】:
    1. name 参数是您的 .storyboard 文件的名称(不带扩展名)。
    2. 首先检查情节提要是否位于您的主包中。如果不是从
    3. 更改捆绑名称

    来自

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"library.storyboard" bundle:nil];
    

    到

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"library" bundle:[NSBundle <name of bundle or mainbundle>]];
    
    1. 模拟器不区分大小写,但设备是。所以请检查名称是否正确

    【讨论】:

    • @work_gg 请分享您的解决方案是什么?
    【解决方案2】:

    如果实际文件在包中命名为library.storyboard,那么在您的storyboardWithName 方法中您只需编写library。它也区分大小写,因此请确保您的名称正确。所以应该是storyboardWithName:@"library"

    那个故事板在你的主包中吗?

    【讨论】:

    • @"library" 是我使用可可豆荚导入的第三方库的一部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多