检查用户是否在Xamarin.Forms中使用iPhone或iPad

问题描述 投票:3回答:2

我一直在寻找一下,我无法弄清楚如何检查用户是否有iPad或iPhone?

我正在使用Xamarin.Forms,我无需检查Android设备是平板电脑还是手机,因为问题无法解决Android问题。


我发现的代码可能会有所帮助:

var idiom = UIKit.UIDevice.CurrentDevice.UserInterfaceIdiom;

谢谢你的时间!

ios iphone ipad xamarin xamarin.forms
2个回答
5
投票

您可以使用Xamarin.Forms中的Device Class来检查这一点

if (Device.Idiom == TargetIdiom.Tablet)
{
    // iPad
}

if (Device.Idiom == TargetIdiom.Phone)
{
    // iPhone
}

这是一个适用于Android,iOS和Windows Phone的多平台解决方案。

如果您需要在XAML文件中有所区别,可以使用OnIdiom标记,如下所示:

<StackLayout>
   <StackLayout.Padding>
      <OnIdiom x:TypeArguments="Thickness">
          <OnIdiom.Phone>
              10
          </OnIdiom.Phone>
          <OnIdiom.Tablet>
              20
          </OnIdiom.Tablet>
      </OnIdiom>
   </StackLayout.Padding>
</StackLayout>

0
投票

在IOS SDK 12.2上,Device.Idiom对我不起作用。

这样做:

using UIKit;

UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone // or Pad

确切地说,Device.Idiom为iPhone SE和iPhone XR返回TargetIdiom.Unsupported。

© www.soinside.com 2019 - 2024. All rights reserved.