uiviewcontroller – PresentViewController,storyboard不包含视图控制器

uiviewcontroller – PresentViewController,storyboard不包含视图控制器,第1张

概述在最近的Xamarin iOS或Xamarin Studio更新中发生了一些变化,我现在只用PresentViewController就会出现奇怪的错误.这个完全相同的代码在一个月前就有用了我认为Xamarin中的某些内容发生了变化,因为它们最近在故事板属性/小部件中添加了“模块”行 // Instantiate and push controller UIStoryboa 在最近的Xamarin iOS或Xamarin Studio更新中发生了一些变化,我现在只用PresentVIEwController就会出现奇怪的错误.这个完全相同的代码在一个月前就有用了我认为Xamarin中的某些内容发生了变化,因为它们最近在故事板属性/小部件中添加了“模块”行

// Instantiate and push controller            UIStoryboard storyBoard = UIStoryboard.Fromname("MainStoryboard",null);            CustomVIEwController navigationController = storyBoard.InstantiateVIEwController("CustomVIEwController") as CustomVIEwController;            this.InvokeOnMainThread(() => {                this.PresentVIEwController(                    navigationController,true,null                );            });

以上代码基于以下故事板截图生成此错误:

Foundation.MonotouchException:抛出Objective-C异常.名称:NSinvalidargumentexception原因:Storyboard()不包含标识符为“CustomVIEwController”的视图控制器

我的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中明确设置了….这听起来有问题.这是代码:

控制器在更新前几个月生成:

<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文件并添加storyboardIDentifIEr,故事板就会成功打开,没有例外.看起来像个BUG?

解决方法 对我来说,唯一的解决方案似乎是打开xCode并在那里添加一个故事板.很关心这个BUG到达了稳定的通道,我正在努力…

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

总结

以上是内存溢出为你收集整理的uiviewcontroller – PresentViewController,storyboard不包含视图控制器全部内容,希望文章能够帮你解决uiviewcontroller – PresentViewController,storyboard不包含视图控制器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1026000.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存