从其他项目推送 ViewController 时出错

Posted

技术标签:

【中文标题】从其他项目推送 ViewController 时出错【英文标题】:Error to push a ViewController from other project 【发布时间】:2015-01-26 12:08:26 【问题描述】:

在第一个项目中,我有一个UIButton。当我触摸它时,将从另一个项目中打开其他UIViewController。但是我有一个问题:

这是我第一个项目的代码,我将用它来调用另一个项目中的其他UIViewcontroller

public partial class SomeSoluctionViewController : UIViewController

public SomeSoluctionViewController (IntPtr handle) : base (handle)



        public override void ViewDidLoad ()
            
                base.ViewDidLoad ();
                PushedClassController pushedclass = PushedClass.AppDelegate.Storyboard.InstantiateViewController ("PushedClass") as PushedClassController;

                CallButton.TouchUpInside += (object sender, EventArgs e) => 
                    this.NavigationController.PushViewController (pushedclass, true);
                ;

                // Perform any additional setup after loading the view, typically from a nib.
            
    

我按照 Xamarin 网站的指示使用 PushViewController

我用标识符实例化第二个类。

在 PushedClassController 的 AppDelegate 上:

public static UIStoryboard Storyboard = UIStoryboard.FromName ("MainStoryboard", null);

我在上面用过。

这是第二个项目的 pushView:

 namespace PushedClass
            
              ** [Register ("PushedClass")]**
                public partial class PushedClassController : UIViewController
                
                    public PushedClassController (IntPtr handle) : base (handle)
                    
                    
                
            

用“PushedClass”注册

日志:Objective-C 抛出异常。名称:NSInvalidArgumentException 原因:Storyboard () 不包含标识符为“PushedClass”的视图控制器

【问题讨论】:

【参考方案1】:

在 xamarin 中打开推送的项目。

点击底部的黑条,选择你想要显示的视图控制器。

在身份下的设计师属性板中,为 Storyboard IDRestoration ID 指定唯一 ID 到 PushedClass

【讨论】:

以上是关于从其他项目推送 ViewController 时出错的主要内容,如果未能解决你的问题,请参考以下文章

推送其他viewcontroller时隐藏uisearchdisplaycontroller的navigationbar

使用“模态推送”到 viewController 并且无法在顶部添加 UINavigationItem-(Controller, Bar)

推送 View Controller 时出现断断续续的过渡

如何从 ViewController 中分离(推送)到 NavigationController 中嵌入的另一个 ViewController?

如何从 modalViewController 推送 ViewController

推送通知:从 AppDelegate 导航到 ViewController