对于iPhone中的不同屏幕,更改UITextFields的高度和它们之间的间距

时间:2019-02-27 14:27:08

标签: ios swift iphone constraints nslayoutconstraint

当前,我们正在将网站注册屏幕复制到iOS中的本机移动应用程序中。到目前为止,我们正在使用NSLayoutConstraints以编程方式设置它们之间的约束。我试图通过在UITextFields之间提供前导空格,尾随空格和高度约束来在情节提要中进行设置,但我希望根据不同的屏幕设置高度约束,以使其在各处以及垂直间距处都相同。我希望这可以没有编码部分。

https://dribbble.com/shots/6006968-ReCars-Sign-Up-Login

注册屏幕:

SignUpScreen

2 个答案:

答案 0 :(得分:1)

有多种方法可以实现这一目标。

a>请勿对文本字段使用硬编码的高度约束。而是尝试使用相对约束。 Sample Relative Constraint Example 。 在示例中,我针对文本框的超级视图给出了高度限制。因此,根据其超级视图,其高度将调整大小。

b>您也可以探索自适应布局模式。根据尺寸等级,您可以在哪里改变约束条件。

答案 1 :(得分:0)

像一个选项一样,您可以使用乘数1:N设置文本字段的等高约束。我将在下面添加图片。

  

但是,我不建议这样做。因为您将在此解决方案中遇到很多问题。我认为,在屏幕上调整文本文件的更好方法是使用Topic topic = topicRepository.findOne(someId); //only questions directly linked to this topic Set<Question> questions = topic.getQuestions(); //all questions linked to this topic and its sub-topics to *n* levels. Set<Question> questions = topic.getAllQuestions(); ,但是通过这种方式,您将使用代码。

首先,为UIScrollViewtextfield添加相等的高度。 Add constraint enter image description here

第二,设置乘数。 enter image description here

希望它对您有帮助

  

但是请记住,一次制作正确的次数要好于以一种不好的方式制作然后再制作。 :)