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

2023-12-31

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

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

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

只是为了澄清其原因:如果视图的框架受约束定位,则无法更改视图的框架。好吧,你可以,但这是徒劳的,而且是不好的做法。这是因为布局系统将使用约束本身来为您更改视图的框架!因此,您可以更改框架,但布局系统将读取并解决约束并再次将框架更改回来。

将约束视为布局系统的“待办事项列表”。约束本身没有任何作用;它们只是规则列表。布局系统完成了这项工作(当layoutSubviews叫做)。每次需要布局时,布局系统都会出现,读取约束,找出如何遵守它们,然后通过设置视图的框架来实现。你需要工作with那个制度,而不是反对它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法以编程方式更改 UITextView 框架大小 的相关文章

随机推荐

  • 使用JS媒体查询改变ScrollMagic的triggerHook位置

    如何成功地重新加载滚动魔术代码并更改triggerHook位置 当我尝试使用下面的代码执行此操作时 它设置了 trigerHook 两次 因此屏幕上有两个 我的 ScrollMagic 代码如下 Scrollmagic gsap to mo
  • 为什么 GCC 允许通过右值引用进行捕获?

    该标准规定通过右值引用捕获应该是非法的 按右值引用捕获 https stackoverflow com a 3860676 1270003 但我有以下代码 include
  • 使用 Twitter4j Android 转发

    我正在尝试制作简单的应用程序 twitter 我使用 twitter4j 库 并且我得到了如何使用该库登录和发布 twitter 的很好的教程 我的应用程序显示时间线并有转发按钮 我的问题如何使用 twitter4j 库转发 您可以致电St
  • Spy++ 如何构造其进程列表?

    TL DR Spy 工具如何真正构建其进程列表 Stage 我们有一个 MFC 桌面应用程序 在 Windows XP 上运行 它挂起 不再对任何用户输入做出反应 它is然而 通过 alt tab 切换到它时会重新绘制 它确实收到WM SE
  • 如何复制复选框值并使单元格在 Google 表格中保持可编辑状态?

    我两天前发布了这个问题 但没有答案 这是我正在处理的文件副本的链接 基本上 我所做的是 effettivo 页面是 pianificazione 页面的副本 effettivo 中的所有单元格都从其相对位置复制其值 问题是 对于右侧的复选框
  • Liquibase - 不同数据库供应商的校验和不同

    当我尝试在 MSSQL 和 MySQL 上运行 Liquibase 校验和时 我遇到了问题 在我的 MSSQL 库中 我有一个带有此校验和的更改日志条目 3 cf2f5de7a1dcc738bbc185e25fbcf6c9 当我针对这个数据
  • 如何为 Spring 消息本地化启用外文字符?

    消息加载正常 但外来字符未按预期呈现 我的消息属性 messages sv properties 是 login title Logga in login username Anv ndarnamn login password L sen
  • 如何在 Google Sheets 中使用 .gs 脚本打印工作表/范围?

    我正在尝试在 Google Sheets 中创建一个脚本来选择一个范围并打印它 我正在尝试根据一些参数打印一些信息 我有以下脚本来设置所需的范围 但我没有找到使用脚本打印它的方法 function printInvoice var ss S
  • date -d 在 Mac 上不起作用

    我正在尝试将时间戳转换为秒数 但它在 Mac 上无法按预期工作 在linux上我可以运行 date d 2015 06 11 12 39 s我得到1434044340如预期 然而 当我在 Mac 上运行相同的命令时 我得到 usage da
  • 处理 parsedatetime 的不同结果

    在过去 15 年左右的时间里 我只偶尔使用 Perl 工作 现在我正在尝试学习 Python 我无法理解如何处理来自 parsedatetime 的 Calendar parse 的解析方法的两种不同类型的结果 鉴于这个脚本 usr bin
  • 如何强制eclipse使用指定的界面语言?

    我的新工作笔记本电脑设置了我的本地 波兰 语言环境 但是 我根本无法以英语以外的任何语言使用 eclipse 我太习惯英文名字了 所以不明白翻译 如何强制 Eclipse 以操作系统使用的其他语言启动 好 我知道了 eclipse ini
  • 通过 TCP 代理的 RDP

    第一次使用 Stackoverflow 希望有人能帮助我 我正在研究通过 TCP 代理 隧道传递 RDP 流量的概念证明 该代理 隧道将使用 HTTPS 通过防火墙 该问题与将映像部署到计算机有关 因此不能假设 NET 框架将存在 因此在连
  • 将 Grunt 应用程序部署到 heroku 时,NPM 不会安装模块依赖项

    我使用 grunt 制作了一个静态单页网站 我现在尝试使用以下命令将其部署到 herokuheroku buildpack nodejs grunt https github com mbuchetics heroku buildpack
  • 已 root 的 Galaxy S8 上的设备所有者

    我一直在尝试将我的内部演示应用程序提升为设备所有者rootedS8 一直有问题 我尝试过的方法 1 NFC 配置 如所解释的here https github com googlesamples android NfcProvisionin
  • 如何使用应用密码访问bitbucket

    我已经按照说明创建了应用程序密码here https confluence atlassian com bitbucket app passwords 828781300 html 但现在 我如何使用此应用程序密码访问存储库 网址是什么 有
  • 使用 C 无法从 TCP 套接字正确接收数据 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我使用的是 Ubuntu 12 04
  • 如果字符串出现在源(或差异)中,Git 在提交之前发出警告

    当我在某个场所进行表演时 我希望能够被阻止 git如果我要提交的更改包含某个字符串 例如 todo or hack 有人可以告诉我如何实现这一目标吗 或警告 或在提交时 一个简单的预提交钩子检查是否添加了字符串 todo 如下所示 bin
  • Chrome 扩展和 Javasctipy 数据库

    我正在尝试构建一个 Chrome 扩展程序 该扩展程序将大量使用数据和图像 在存储数据时我有哪些选择 我希望我有某种 SQL 选项 SQLite 你可以去base64 http en wikipedia org wiki Base64编码图
  • 在后台打开新标签页?

    使用 javascript 我想在不同的选项卡中打开一个新页面 但仍将注意力集中在当前选项卡上 我知道我可以这样做 open http example com focus 但是 当我在 Chrome 中执行此操作时 它会在切换回当前选项卡之
  • 无法以编程方式更改 UITextView 框架大小

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