如何根据特定设备的屏幕大小更改特定约束?

时间:2017-01-03 21:04:23

标签: swift swift3

我知道我可以通过编程方式更改约束,我知道我可以改变特征。

我在图像视图中处理两个奇怪的图像,我似乎无法在Ib中完美排列使用各种特性。我只需要以编程方式更改一个约束,具体取决于设备是iPhone 6,6plus还是其他任何东西。

我认为我可以在View中加载这样的东西:

这给了我一个错误,因为我没有正确设置屏幕大小,我试图以纵向使用iPhone 6的数字点值。

if UIScreen.mainScreen.bounds.size == (CGSize: 414.width, 736.height) { //change Ib outtled constraint to x

    }
我正走在正确的轨道上吗?是否有更简单的方法来改变设备的单个约束?

感谢任何建议。

1 个答案:

答案 0 :(得分:2)

正确的方法是检查UIScreen,虽然我倾向于使用不等式和常量并且独立检查宽度和高度:

$webconfig = @(Get-Project).ProjectItems |
    Where-Object { $_.Name -eq "Web.config" }

$webconfig.Properties("LocalPath").Value # path for web.config

$webdebugconfig = $webconfig.ProjectItems |
    Where-Object { $_.Name -eq "Web.Debug.config" }

$webdebugconfig.Properties("LocalPath").Value # path for web.debug.config

$webreleaseconfig = $webconfig.ProjectItems |
    Where-Object { $_.Name -eq "Web.Release.config" }

$webreleaseconfig.Properties("LocalPath").Value # path for web.release.config

请记住,在多任务模式的iPad上,您最终可能会看到一个窄而高的屏幕,因此您可能希望仅根据宽度进行任何宽度约束更改,无论您是否也有更小的高度。这也是你想要使用不等式而不是检查特定屏幕尺寸的原因。