You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin iOS报错:从主视图控制器呈现视图时出现异常

问题原因与解决方法

问题根因

你用当前ViewController的Handle初始化MobileSettingsViewController,导致新创建的控制器和当前控制器是同一个实例,触发了“自己present自己”的异常。

正确实现代码

既然已经在Storyboard里给MobileSettingsViewController设置了自定义类和Storyboard ID,应该通过Storyboard实例化目标控制器:

// 获取对应Storyboard实例,把"Main"换成你实际的Storyboard文件名
UIStoryboard storyboard = UIStoryboard.FromName("Main", null);
// 通过Storyboard ID实例化控制器,也可以直接写你设置的ID字符串
MobileSettingsViewController mobileView = storyboard.InstantiateViewController(nameof(MobileSettingsViewController)) as MobileSettingsViewController;
// 弹出模态控制器,animated设为true会有默认动画
PresentViewController(mobileView, true, null);

基础注意点

  • 不要用当前控制器的Handle初始化新控制器,Handle是底层指针,复用会导致实例混淆。
  • 确保Storyboard里的Storyboard ID和代码里调用的完全一致,大小写也要匹配。

内容的提问来源于stack exchange,提问作者Gith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 06:23:09