【发布时间】:2015-10-28 04:36:03
【问题描述】:
我正在参加 2015 年斯坦福冬季 Swift/iOS 课程,在做作业时,我遇到了一种我想改变的行为。
我使用视频中描述的自动布局(将显示引脚设置为前视图和后视图边缘),并且计算器应用程序“显示”UILabel 的初始值为 0 以及用于设置它的值(字符串) 是非零和非“”。
如果它是 nil 或 "",则整个 UILabel 消失。我要做的是在没有值显示或计算不正确导致 nil 时“清除”显示。
关于一般情况下应由谁来处理此问题的任何提示? “清除” UILabel 而不改变它的屏幕尺寸?
编辑(感谢 Rob) UILabel 具有以下约束 1. Option-click 向左拖动以包含 UIView,选择“领先”的东西(在上班途中无法检查确切的措辞。 2. 与(1)相同的方法,只是拖动到右边缘并选择“拖尾” 3. 选项单击并向上拖动到视图顶部,选择“垂直”菜单选项。 4. 与(3)相同,只是拖动到GUI上UILabel下方的UIButton。
使用这些设置,包含数字的标签始终可见,并且(如果理解,将对其着色以验证)即使文本不显示,也会在屏幕上伸展。
只要 UILabel 的内容不为空,布局在配置文件和横向上看起来都是正确的。如果为空,它似乎会“缩小以适应”,以至于下面的按钮会向上移动到顶部。
我从 90 年代中期开始就是一名 C++ 开发人员,但我几乎没有 UI 经验,并且在 iOS/Swift 开发方面的经验不超过几周。
谢谢!
【问题讨论】:
-
编辑您的问题以描述您在标签视图上设置的约束以控制其位置和大小。
-
你试过打电话给
label.sizeToFit()吗? -
如果倒计时计时器 == 0,您是否尝试过创建返回:“”(清除标签)的 if 语句? @Varsuuk
-
不确定“倒计时计时器 == 0”是什么?参考;)但我确实选择了非常“对我的开发人员敏感度没有吸引力”的解决方法,即每当支持 Double 时将 UILabel 设置为“”(1 个空格)?属性返回 nil。
-
UILabel 在 UIStackView 中吗?