我最近发现,对于要支持多种屏幕分辨率的 Android 应用程序,我应该将所有尺寸调整/尺寸放在 dimens.xml
中。
我应该在 iOS 中做一些类似的事情来支持多种屏幕分辨率吗?我在后端(没有 Storyboard )对所有 View 进行编码,当我想定位 View (填充、边距等)时,我只需将硬编码数字添加到 X
和 View 的
属性。 frame
的 YWidth
、Height
、Font size
等也是一样。我想我这样编码的 iOS 应用程序在不同的屏幕分辨率下看起来会很尴尬像这样?
顺便说一下,我使用的是 Xamarin(Xamarin.Android 和 Xamarin.iOS)。但我会理解使用 native 代码的答案。
最佳答案
在 iOS 中没有像 dimens
这样的东西。
我相信 AutoLayout
的适当约束可以很好地处理 padding
、margins
、Width
、高度
等
但是,如果您仍然想找到实现它的方法,这里有一个临时解决方法。
创建一个名为 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;
}
}
}
用法:
View.Height = Dimens.Height;
Here是可以检查您的设备类型的插件。
关于android - iOS中有没有类似于Android的dimens.xml的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47319937/