Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何卸载菜单(UIViewController)_C#_Ios_Uiviewcontroller_Xamarin.ios_Xamarin - Fatal编程技术网

C# 如何卸载菜单(UIViewController)

C# 如何卸载菜单(UIViewController),c#,ios,uiviewcontroller,xamarin.ios,xamarin,C#,Ios,Uiviewcontroller,Xamarin.ios,Xamarin,我正在开发一个应用程序,通过它我可以向数据库发送和接收数据 此时,当我以纵向或横向位置启动应用程序时,它将始终以纵向样式显示第一个菜单。当我打开第一个菜单时,它会切换到横向。我的AppDelegate中有用于存储屏幕宽度和高度的属性 每当我第一次导航到另一个菜单时,它都会从AppDelegate获取屏幕宽度和高度来绘制新菜单。我导航到的每个菜单都能很好地做到这一点 问题是,当一个菜单已经加载时,我切换到另一个菜单,转动屏幕并返回上一个菜单,布局仍处于上一个屏幕模式。例如: 我启动应用程序,在纵向

我正在开发一个应用程序,通过它我可以向数据库发送和接收数据

此时,当我以纵向或横向位置启动应用程序时,它将始终以纵向样式显示第一个菜单。当我打开第一个菜单时,它会切换到横向。我的AppDelegate中有用于存储屏幕宽度和高度的属性

每当我第一次导航到另一个菜单时,它都会从AppDelegate获取屏幕宽度和高度来绘制新菜单。我导航到的每个菜单都能很好地做到这一点

问题是,当一个菜单已经加载时,我切换到另一个菜单,转动屏幕并返回上一个菜单,布局仍处于上一个屏幕模式。例如:

  • 我启动应用程序,在纵向模式下进入第一个菜单。AppDelegate中的屏幕宽度和高度值将更改为当前view.bounds
  • 我第一次导航到菜单2。菜单#2将使用AppDelegate中的屏幕宽度和高度来绘制菜单
  • 我第一次导航到菜单3。与菜单#2一样,它从AppDelegate获取屏幕宽度和高度来绘制菜单
  • 我把菜单从纵向转到横向。菜单#3将重新绘制并将AppDelegate中的屏幕宽度和高度更改为新值
  • 我导航回菜单#2,但它仍然像在纵向模式下一样绘制
  • 有没有办法卸载菜单(这不是过时的“WillUnload”或“DidUnload”方法)?或者,是否有一个方法在每次我导航到已加载到内存中的菜单时都会被调用

    我很高兴收到你的来信

    爱和问候, 比约恩
  • 视图将出现:
    方法在每次控制器运行时被调用 视图即将显示。每当您转换到和时 从控制器开始,它将被调用

    从苹果的文档()中:

    在将接收器的视图添加到视图层次结构之前以及在配置任何动画之前调用此方法 用于显示视图。您可以重写此方法以执行自定义 与显示视图关联的任务。例如,您可以使用 此方法用于将状态栏的方向或样式更改为 与显示的视图的方向或样式相协调。 如果重写此方法,则必须在中的某个点调用super 您的实现

  • 您可以使用的另一个生命周期方法是
    viewWillLayoutSubviews
    。你可以在这里读更多关于它的内容

  • 就这样!非常感谢:)!