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

ios – 无法以编程方式更改UITextView框架大小,第1张

概述我在界面构建器的视图中插入了一个UITextView,现在我想改变它的帧大小,以便它以编程方式适合内容.问题是由于约束,大小似乎被锁定并且不能从代码中取消.如果我在文件检查器中禁用使用自动布局,则每个对象都会删除约束,但我只想更改UITextView而不是其他对象. [textview setFrame:CGRectMake(x,y,w,h)]; // This doesn't do anythi 我在界面构建器的视图中插入了一个UITextVIEw,现在我想改变它的帧大小,以便它以编程方式适合内容.问题是由于约束,大小似乎被锁定并且不能从代码中取消.如果我在文件检查器中禁用使用自动布局,则每个对象都会删除约束,但我只想更改UITextVIEw而不是其他对象.

[textvIEw setFrame:CGRectMake(x,y,w,h)]; // This doesn't do anything to the uitextvIEw
解决方法 如果您正在使用约束,则必须使用约束来更改UITextVIEw的大小.在笔尖中设置出口,以便从代码访问您需要更改的约束.您可以实时设置约束的常量,这通常就足够了.

只是为了澄清其原因:如果视图的框架被约束定位,则无法更改视图的框架.嗯,你可以,但它没有结果,这是不好的做法.这是因为布局系统将使用约束本身来为您更改视图的框架!因此,您可以更改框架,但布局系统将读取并解决约束并再次更改框架.

将约束视为布局系统的“待办事项列表”.制约因素本身并无任何作用;它们只是一个规则列表.正是布局系统完成了工作(调用layoutSubvIEws时).每次需要布局时,布局系统都会出现,读取约束,找出如何遵守约束,并通过设置视图的框架来实现.您需要使用该系统,而不是反对它.

总结

以上是内存溢出为你收集整理的ios – 无法以编程方式更改UITextView框架大小全部内容,希望文章能够帮你解决ios – 无法以编程方式更改UITextView框架大小所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1014815.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存