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

时间:2017-12-30 21:15:43

标签: 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不支持在故事板中使用textview自动布局,所以仍然希望有更好的方法。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

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