gpt4 book ai didi

ios - 无法以编程方式更改 UITextView 框架大小

转载 作者:可可西里 更新时间:2023-11-01 05:23:08 25 4
gpt4 key购买 nike

我已经使用界面生成器在 View 中插入了一个 UITextView,现在我想更改它的框架大小,以便它以编程方式适合内容。问题是由于限制,大小似乎被锁定并且无法从代码更改。如果我在文件检查器中禁用使用自动布局,每个对象都会删除约束,但我只想更改 UITextView 而不是其他对象。

[textview setFrame:CGRectMake(x,y,w,h)]; // This doesn't do anything to the uitextview

最佳答案

如果您使用约束,则必须使用约束来更改 UITextView 的大小。在 nib 中设置导出,以便从您的代码访问您需要更改的约束。您可以实时设置约束的常量,这通常就足够了。

只是为了阐明这样做的原因:如果 View 由约束定位,则不能更改它的框架。好吧,你可以,但这是徒劳的,而且是不好的做法。这是因为布局系统会使用约束本身来为您更改 View 的框架!因此,您可以更改框架,但布局系统随后将读取并解析约束并再次更改框架。

将约束视为布局系统的“待办事项列表”。约束本身什么也不做;它们只是规则列表。它是由布局系统完成的(当 layoutSubviews 被调用时)。每次需要布局时,布局系统都会出现,读取约束,计算出如何遵守它们,然后这样做 - 通过设置 View 的框架。你需要那个系统一起工作,而不是反对它。

关于ios - 无法以编程方式更改 UITextView 框架大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14652598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com