iOS中有没有类似于Android的dimens.xml的东西?

Dar*_*ius 2 android ios xamarin

我最近发现我应该将所有尺寸/尺寸都放在dimens.xml我想要支持多种屏幕分辨率的 Android 应用程序中。

我应该在 iOS 中做类似的事情来支持多种屏幕分辨率吗?我的代码我在后端的所有视图(无故事板),当我想要放置一个视图(填充,利润等),我只是在添加硬编码的数字XY视图的属性frame。对于Width, Height,Font size等来说也是如此。我想我这样编码的 iOS 应用程序在像这样的不同屏幕分辨率下看起来会很尴尬吗?

顺便说一下,我正在使用 Xamarin(Xamarin.Android 和 Xamarin.iOS)。但我会使用本机代码理解答案。

Col*_*SFT 5

dimens在 iOS 中没有任何东西。

我相信正确的约束条件与AutoLayout可以很好地工作的paddingmarginsWidthHeight,等。

但是,如果您仍然想找到一种方法来实现它,这里有一个临时的解决方法。

创建一个名为Dimens.

public static class Dimens
{
    public static int Height
    {
        get {
            string device = DeviceHardware.Model;

            if (device.Contains("iPhone4"))
            {
                return 10;
            }
            else if (device.Contains("iPhone5"))
            {
                return 15;
            }
            else if (device.Equals("iPhone 6") || device.Equals("iPhone 6S"))
            {
                return 20;
            }
            else if (device.Equals("iPhone 6 Plus") || device.Equals("iPhone 6S Plus"))
            {
                return 25;
            }
            //other device 

            return 0;
        }
    }      
}
Run Code Online (Sandbox Code Playgroud)

用法:

View.Height = Dimens.Height;
Run Code Online (Sandbox Code Playgroud)

是可以检查您的设备类型的插件。