Xcode 如何在3.5”之间调整大小;和4“;屏幕(自动布局中的动态约束?)

Xcode 如何在3.5”之间调整大小;和4“;屏幕(自动布局中的动态约束?),xcode,constraints,autolayout,screen-size,Xcode,Constraints,Autolayout,Screen Size,我有一个视图,用背景图像填充屏幕。其他视图(文本字段)位于精确位置(背景图像包括文本字段背景图像)。当我从3.5“屏幕更改为4”时,文本字段的更改方式与背景大小的更改方式不同。bg图像只是调整大小以填充屏幕,但文本字段会跳出对齐状态 是否有一种方法可以设置两组约束,每个屏幕大小一组约束?或者有没有一种方法可以使视图按比例调整到另一个视图的大小 编辑: 有没有一种方法可以设置两组约束,每个屏幕一个约束 尺寸 可以,通过以编程方式添加约束并检查[[UIScreen mainScreen]boun

我有一个视图,用背景图像填充屏幕。其他视图(文本字段)位于精确位置(背景图像包括文本字段背景图像)。当我从3.5“屏幕更改为4”时,文本字段的更改方式与背景大小的更改方式不同。bg图像只是调整大小以填充屏幕,但文本字段会跳出对齐状态

是否有一种方法可以设置两组约束,每个屏幕大小一组约束?或者有没有一种方法可以使视图按比例调整到另一个视图的大小

编辑:

有没有一种方法可以设置两组约束,每个屏幕一个约束 尺寸

可以,通过以编程方式添加约束并检查[[UIScreen mainScreen]bounds]来获得屏幕大小

或者有没有一种方法可以使视图按比例调整到另一个视图的大小


是的,您可以在interface builder中进行设置。但是这将很难管理,我会在代码中手动管理约束,因为您使用的是自定义背景图像TextView需要精确定位

您将很难使这些内容与作为背景图像一部分的文本视图背景正确对齐

您应该修改图像资源,并使用
UITextField
background
属性来获得实际的背景图像,并从主背景图像中删除框。图标也可以是单独的图像

如果做不到这一点,将图像拉伸到文本框下方而不是顶部会更有意义


根据您的描述,您的布局正在做它应该做的事情,但是图像没有以正确的方式拉伸。在您的屏幕截图中,用户名始终与顶部保持相同的距离,其他用户名与底部保持相同的距离,但这不是图像拉伸的工作原理。我不知道您是如何设置的,但如果有一个4英寸屏幕大小的单一图像(3.5英寸设备的底部被切掉),并从顶部约束所有内容,这将是有意义的

您目前是如何定义约束的?在代码中,还是在界面生成器中?您的目标是什么布局?约束在interface builder中。当我切换到4英寸屏幕时,所有视图都会尝试重新排列自己,这让我认为可以适当调整它们的大小。我想我真正想要的是每个视图都像它的框架覆盖整个屏幕一样工作(那时有很多看不见的空间),当屏幕改变大小时,框架会被拉伸到仍然覆盖整个屏幕。您可以添加布局的屏幕截图并显示约束条件吗?您的要求听起来很简单,但您可能会被界面生成器击败,而且它不是明显的UI。我添加了一些屏幕截图。橙色文本以及图像和它们的框都是单个背景图像的一部分。所有UITextField与屏幕左侧之间都有一个约束,这就是为什么在屏幕左侧没有问题的原因。垂直方向上,“用户名”与屏幕顶部有一个约束,“你将给我发什么”与底部有一个约束,而所有其他字段都相互约束,从“你会给我什么”,但没有任何东西与“用户名”相关。我真正想要的是有两组常量,而不需要大量的编程