2017-09-08 19 views
-1

我在肖像模式(2线)包装的标签,而不是在横向(1号线):如何设置自动布局这样的UILabel调整大小和其他视图中移动需要

portrait

landscape

我想设置自动布局,以便标签可以根据需要调整大小,并根据标签向上或向下移动其他视图。但是,我不太明白如何在iOS故事板中进行设置。任何帮助表示赞赏。

Thanx提前。

+0

您必须设置视图相对于标签的垂直间距。 –

+1

这很简单。 _你不明白吗?你做了什么,发生了什么或未能做出回应? – matt

+0

我是iOS开发新手,所以对我来说并不容易(但)。我已将行数设置为0,打开Word Wrap,并将Leading侧绑在屏幕的左侧边缘,拖尾侧绑在屏幕的右侧边缘。但是,当我预览纵向和横向模式时,UILabel不会更改。一旦我获得了UILabel的工作,我将叠加其他视图。 – NLam

回答

2

如果我的理解是正确的那里,你正在寻找两件事情:

  1. 调整基于使用故事板的文字长度的标签,这可以通过进入属性检查器和设置Lines来实现0Line break ModeWordWrap。另附图片供参考 here。 只是一些额外的信息,你也可以通过编程实现它,使用下面的代码:

    myLabel.numberOfLines = 0 
    myLabel.lineBreakMode = .byWordWrapping 
    
  2. 移动基于您的标签的尺寸等观点,这可以通过对意见设置的约束来实现你想要被推送。你可以参考苹果的文档here,容易掌握并展示如何一步一步做到这一点。

+0

感谢您提供有关Apple文档的链接。我遇到的问题最多的是UILabel(请参阅上面的评论),但重置为建议的约束似乎已经成功了。我不明白它与我所做的有什么不同,但我会进一步调查。此外,故事板似乎并没有完全显示应用程序在模拟器中生成并运行后的视图。在模拟器中一切看起来不错,但视图都在故事板中混杂。这是典型的吗? – NLam

+0

不客气。所以,建议约束重置的重要性在于它覆盖了给定约束并添加了满足视图的系统定义约束。约束应该由用户决定,而不是由系统决定。在阅读你最后一个对你的问题的评论后。我认为你忘了将标签的顶部和底部的约束添加到周围的视图中,我认为系统在重置为建议的约束时为您添加了约束。故事板应该接近您的模拟器/设备中的视图。你使用的是什么版本的Xcode? –

+0

我想给你的一个建议是,如果你使用的是iOS 9或更高版本,你可以利用UIStackView,它几乎可以处理视图之间的约束,并且相对容易使用。这是学习[堆栈视图]的好资源(https://www.raywenderlich.com/160646/uistackview-tutorial-introducing-stack-views-2) –

相关问题