gpt4 book ai didi

uiviewcontroller - PresentViewController, Storyboard不包含 View Controller

转载 作者:行者123 更新时间:2023-12-01 05:05:39 31 4
gpt4 key购买 nike

在最近的 Xamarin iOS 或 Xamarin Studio 更新中发生了一些变化,我现在使用 PresentViewController 遇到奇怪的错误。一个月前,同样的代码有效。我认为 Xamarin 中的某些内容发生了变化,因为他们最近在 Storyboard属性/小部件中添加了“模块”行

           // Instantiate and push controller
UIStoryboard storyBoard = UIStoryboard.FromName("MainStoryboard", null);
CustomViewController navigationController = storyBoard.InstantiateViewController("CustomViewController") as CustomViewController;
this.InvokeOnMainThread(() => {
this.PresentViewController(
navigationController,
true,
null
);
});

上面的代码根据下面的 Storyboard屏幕截图生成此错误:

Foundation.MonoTouchException:抛出 Objective-C 异常。名称:NSInvalidArgumentException 原因:Storyboard () 不包含标识符为“CustomViewController”的 View Controller

enter image description here
enter image description here

我的 Xamarin Studios 版本是 5.8 build 443,Xamarin iOS 是 8.8.0.2,Xcode 是 6.2 (6776)

- - - - - - - -更新 - - - - - - - -

因此,我在文本编辑器中打开 Storyboard文件并检查 Xamarin Designer 生成的代码。几个月前创建的 Controller 有一个storyboardIdentifier,但今天创建的 Controller 没有一个storyboardIdentifier,即使我已经在Xamarin Designer中明确设置了......这听起来有问题。这是代码:

更新前几个月前生成的旧 Controller :
            <navigationController definesPresentationContext="YES" id="123" sceneMemberID="viewController" storyboardIdentifier="RedViewNavigationController" restorationIdentifier="RedViewNavigationController">
<navigationBar key="navigationBar" contentMode="scaleToFill" id="126">
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
</navigationBar>
<connections>
<segue destination="125" kind="relationship" relationship="rootViewController" id="124"/>
</connections>
</navigationController>

今天生成的新代码导致异常:
            <navigationController definesPresentationContext="YES" id="164" sceneMemberID="viewController" restorationIdentifier="JZCustom">
<navigationBar key="navigationBar" contentMode="scaleToFill" id="167">
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
</navigationBar>
<connections>
<segue destination="166" kind="relationship" relationship="rootViewController" id="165"/>
</connections>
</navigationController>

因此,一旦您在文本编辑器中手动打开 Storyboard文件并添加 Storyboard标识符, Storyboard就会成功打开而不会出现异常。看起来像一个错误?

最佳答案

对我来说,唯一的解决方案似乎是打开 xCode 并在那里添加一个 Storyboard。非常担心这个错误到达了我正在处理的稳定 channel ......

注意:手动编辑 Storyboard xml 并没有给我正确的运行时结果......

关于uiviewcontroller - PresentViewController, Storyboard不包含 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29079568/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com