Ios Xcode脚本设备和模拟器需要相同

Ios Xcode脚本设备和模拟器需要相同,ios,xcode,autolayout,uistoryboard,Ios,Xcode,Autolayout,Uistoryboard,所以我已经完成了大约75%的iOS应用程序,并开始测试它,显然故事板设备需要与模拟设备相同,用于一些基于设备宽度计算的UI组件 因此,当我将故事板视图设置为iphone5s并在iphonex设备上运行该应用程序时,根据屏幕宽度计算其宽度的组件看起来是一团糟。为什么采用故事板屏幕宽度而不是实际设备宽度 当我在实际设备中运行它时,会发生这种情况吗?另外,当我要将应用程序发布到应用商店时,我也会面临同样的问题。如果使用自动布局,则会由于前导空间限制而发生这种情况,如果从超级视图中设置任何UI元素的前导

所以我已经完成了大约75%的iOS应用程序,并开始测试它,显然故事板设备需要与模拟设备相同,用于一些基于设备宽度计算的UI组件

因此,当我将故事板视图设置为iphone5s并在iphonex设备上运行该应用程序时,根据屏幕宽度计算其宽度的组件看起来是一团糟。为什么采用故事板屏幕宽度而不是实际设备宽度


当我在实际设备中运行它时,会发生这种情况吗?另外,当我要将应用程序发布到应用商店时,我也会面临同样的问题。

如果使用自动布局,则会由于前导空间限制而发生这种情况,如果从超级视图中设置任何UI元素的前导空间限制,则宽度将根据设备宽度增加,若要在所有设备上固定宽度,请删除前导宽度约束并设置宽度约束固定

这可能是xcode中的错误,当在实际设备上运行应用程序时,如果您的组件根据设备宽度计算宽度,则一切正常。您使用过自动布局吗?是的,我使用过自动布局,它可以与所有其他ui组件配合使用。由于某种原因,渐变导致了这个问题,因为我已经将渐变帧设置为视图边界。当我以5S的速度运行故事板,以X的速度运行模拟器时,梯度取5S的高度和宽度。我希望这是xcode 9的一个问题,不会影响在实际设备上运行的应用。当我构建一个响应性应用程序时,为组件使用固定的宽度和高度不是一种糟糕的UI开发方法。