IOS / Autolayout:如何修复大文本视图的宽度?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOS / Autolayout:如何修复大文本视图的宽度?相关的知识,希望对你有一定的参考价值。

我正试图在autolayout中修复textview的宽度。 textview是屏幕中的主要元素,因此我无法修复它会破坏整个屏幕。

设置是包含滚动视图的视图,其中包含包含元素的内容视图。按照Apple的说明,我将视图的宽度,滚动视图和内容视图设置为375,并将内容视图固定到滚动视图,并将滚动视图固定到所有四个边的视图,所有这些都是常量0。

我希望textview集中并且相当广泛。因此,我首先设置了一个领先常数为40的内容视图,内容视图的尾随常数为40,宽度为295.在7 Plus上,这在右边和SE上留下了太宽的边距,textview延伸到正确的边缘之外。自然的事情似乎是删除宽度约束,因此只有一个前导和尾随约束,但这导致整个视图将城镇缩小到113.没有明显的理由我可以想出这个,但发生它没有。然后我尝试重置为295但小于或等于。我也尝试设置为295但降低优先级。优先级为750时,它的行为似乎是1000.优先级为500时,视图缩减至113。

enter image description here enter image description here

最烦人的。附上了看约束的截图。在此先感谢您的任何建议。

编辑:

this post看来,UITextViews可能无法调整其大小以响应自动布局。因此,也许没有办法在autolayout instoryboard中完成所有这一切,连接约束并使用代码修改它。我无法相信Apple不支持在故事板中使用textviews自动布局,所以仍然希望有更好的方法。

答案

控制从内容视图拖动到最外面的视图并使它们等于宽度

另一答案

如果我理解正确,你将视图/ scrollView / contentView的宽度设置为固定宽度,即375磅。这显然会在较小的屏幕(如iPhone 5)和较大的屏幕(如Plus)上出现问题。

您应该将内容视图设置为具有与最外侧视图相同的宽度。

如果您正在使用故事板,并且您的最外面的视图是视图控制器的主视图,那么它的宽度已经设置好,您可以继续使用。如果您有一个xib,那么应该将视图的宽度设置为将其添加为子视图的位置。显然它的宽度应该相对于屏幕宽度设置。

以上是关于IOS / Autolayout:如何修复大文本视图的宽度?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 使用 Autolayout 以编程方式修复 UIScrollView 中子视图的位置

iOS Autolayout:调整大小父视图中的 UILabels 问题

iOS - AutoLayout'无法同时满足约束'

IOS / Storyboard / Autolayout:使Textview垂直扩展以适应文本

ios Autolayout - 在图像上对齐文本

在iOS中使用autolayout调整内容大小的UILabel