ios - Xamarin iOS - 以编程方式加载 Storyboard引用

标签 ios xamarin xamarin.ios storyboard-reference

我有 2 个 Storyboard:Activities.storyboardContacts.storyboard

Contacts.storyboard 上,我有一个 ViewController:ContactDetails

Activities.storyboard上,我需要引用Contacts.storyboard中的ContactDetails

我在 Activities.storyboard 上创建了一个 Storyboard Reference 并引用了 ContactDetails

我尝试以编程方式加载此 View Controller

var viewController = Storyboard.InstantiateViewController(nameof(ContactDetails));
NavigationController.PushViewController(viewController, true);

但是我没有像普通 View Controller 那样以编程方式加载

Foundation.MonoTouchException: Objective-C exception thrown. Name: NSInvalidArgumentException Reason: Storyboard () doesn't contain a view controller with identifier 'ContactDetails'

我知道它是这样工作的:

var storyboard = UIStoryboard.FromName(nameof(Contact), null);
var viewController = storyboard.InstantiateViewController(nameof(ContactDetails));
NavigationController.PushViewController(viewController, true);

但是我想使用引用 View Controller ,可以吗?

最佳答案

如果您使用 Storyboard ID,它也可以用作“恢复标识符”,并允许您从 Storyboard 进行实例化。我建议使用这种方法,它往往是实现您想要做的事情的最简单方法。

enter image description here

还值得注意的是,您必须将实例化的 UIViewController 转换为它的类型(至少我发现如果我想传递变量等,它会让生活变得更容易。)

ContactDetails viewController = Storyboard.InstantiateViewController(nameof(ContactDetails)) as ContactDetails;

或者

ContactDetails viewController = Storyboard.InstantiateViewController("ContactDetails") as ContactDetails;

还值得注意的是,UIViewController 的 Xamarin iOS“Storyboard”属性会自动确定 Storyboard 引用,并且值得检查它是否确实为您带来了指向“Contact”storyboard 的指针(因为多个 Storyboard 当然可以在iOS 开发应该你选择。)

关于ios - Xamarin iOS - 以编程方式加载 Storyboard引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42904487/

相关文章:

ios - 在iOS上将链接(图像URL或网站URL)发布为Instagram的标题

c# - 降级分配。如果警告仍然存在,请考虑增加 nursery-size

google-maps - 如何在 Xamarin.iOS 项目中使用 Google map

c# - MvxTableViewCell 加载一个空 View

c# - Xamarin.iOS 使用 MSALauthentication_ui_failed : The browser based authentication dialog failed to complete

ios - 使用 Alamofire + SwiftyJSON 无法将数据加载到 UITableView

ios - 如何在 iOS 上播放集成到 iPod 中的 mp3 流

ios - Xamarin iOS : How to load WebP from filepath

iOS VideoPreview 横向颠倒

ios - Storyboard中 UITextview 上的属性文本也无法正常工作