我的XF应用程序中有几个页面需要根据显示的内容显示为纵向或横向。在Android上,这没有问题,在iOS 16发布之前也从来没有问题。
iOS 16显然删除了使用UIDevice UIInterfaceOrientation方法的功能,如下图所示,该方法位于我的AppDelegate中。
MessagingCenter.Subscribe<MainPage>(this, "SetLandscapeModeOff", sender =>
{
UIDevice.CurrentDevice.SetValueForKey(new NSNumber((int)UIInterfaceOrientation.Portrait), new NSString("orientation"));
});
这样做效果很好,我可以简单地在我试图以特定方向加载的页面上的OnAppearing方法中调用下面的代码。
MessagingCenter.Send(this, "SetLandscapeModeOff");
我在这里看到过一两篇关于新方法的帖子(还有很多关于iOS 16之前的方法),但没有一篇完整到足以让我这样的技术水平的人理解如何实现它们。除了上面的帖子,我没有任何起点。
提前感谢您的帮助!
1条答案
按热度按时间tkclm6bt1#
在iOS16中更改页面的方式已经改变,可以使用DependencyService来实现,参考以下代码:
在表单中创建界面:
iOS项目:
调用Xamrin中的接口。窗体: