【发布时间】:2013-04-10 14:01:27
【问题描述】:
我有一个UILabel,它可以包含任意数量的宽度受限的行。我调整UILabel 的大小以适应给定的文本没有问题,但是,我正在实现一个“查看更多...”/“查看更少...”按钮,这将增加或减少@987654325 的大小@。基于此,任何低于此UILabel 的UIView's 都会受到影响,并且需要相应地在其y 轴上重新定位。
我正在尝试使用 XIB 文件中的内置功能,但完全没有运气。
UILabel 的自动调整大小设置:
为 UILabel 下的所有 UIView 自动调整大小:
有人能在这里为我指出正确的方向吗?所以基本上一个场景是:
- 屏幕加载
- 标签填充了一定数量的可用文本,宽度受限
-
UIView's下面的UILabel被重新定位,因为UILabel的高度比 XIB 文件中显示的高度增加了 - 用户按下“查看更多”,
UILabel会调整大小以适应所有可用文本并增加高度,所有 UIView 都会相应地重新定位到屏幕下方 - 用户按下“查看更少”,
UILabel的高度会降低,隐藏更多文本,UIView's会相应地向上移动。
谢谢,希望解释清楚!我正在尝试在 XIB 文件中尽可能多地减少代码,但我的所有 UI 元素仍然可以通过 IBOutlets 访问,如果这被证明是唯一的解决方案 (我希望不是) .
注意:我需要支持iOS4.3及以上,所以无法使用iOS6自动布局功能。
【问题讨论】:
-
如果您使用自动布局,这可以只使用扩展和收缩标签所需的代码来完成。你有理由不使用它吗?
-
抱歉我不明白你的问题?通过调整标签的高度来扩展和收缩标签,同时将其限制为特定宽度,当按下“查看更多/查看更少”按钮时会发生此事件
-
我的问题是关于自动布局。为什么要使用 struts 和 springs 而不是自动布局(在 iOS 6 中默认打开)。是否需要支持 iOS 6 之前的操作系统?
-
抱歉误会了。支持 4.3+ 所以不能使用自动布局功能。
标签: ios uiview interface-builder uilabel xib