我有一个视图设置,其中布局了 4 个 UITextFields 并设置了约束,以便它在所有设备上看起来都很棒并且按预期工作。我有一个问题,如果我使用 TextField.text = @" some long text "; 设置文本或 [TextField setText:@"一些长文本"];它会导致文本字段扩展其宽度以适应文本的长度,然后由于限制,其他文本字段也会调整大小。
如何停止文本字段大小调整?我希望字段保持不变,并且用户如果想要到达末尾就能够滚动文本?
Thanks
您只需要更改约束即可。为 UITextField 提供显式的内部宽度约束(或使用约束以其他方式设置或限制其宽度),然后事情就会按照您的意愿运行。
请记住,一般来说all视图的大小和位置的各个方面must由其约束明确配置。但是现在,您的文本字段已no宽度约束,因此它的宽度基于其文本内容(即,它使用内在内容大小以获得其宽度)。省略宽度约束并不违法,这就是为什么 Interface Builder 在设置约束时没有抱怨的原因 - 但它是合法的,只是因为有一个提供宽度的内在内容大小,因此它确实意味着宽度会改变,如果内部文本发生变化。如果这不是您想要的,那么不要这样做 - 而是提供显式的宽度约束。
(类似地,文本字段的隐式高度为 30,这就是为什么您不必为其指定高度约束。此高度确实not随文本内容而变化,因为与 UILabel 不同,文本字段不会将其文本换行到多行。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)