当设置为nil或""时,UILabel文本属性使UILabel从视图中消失(Swift/Autolayout/iOS9.1)

Var*_*uuk 8 uilabel ios swift

我正在经历斯坦福冬季2015 Swift/iOS课程,在完成作业时,我遇到了一个我想改变的行为.

我使用视频中描述的Autolayout(使显示引脚处于前导和尾随视图边缘)和计算器应用程序"显示"UILabel很好,初始值为0,每当用于设置它的值(字符串)为非-nil和non"".

如果它是nil或"",则整个UILabel消失.我想要做的是在没有值显示或不正确的计算结果为零时"清除"显示.

关于一般如何处理这个问题的任何提示?"清除"UILabel而不改变它的屏幕尺寸?


编辑(感谢Rob)UILabel具有以下约束条件1.按住Option键并向左拖动到包含UIView,选择"引导"某些东西(在通勤上班时无法检查确切的措辞.2.与(1)相同的方法除了拖动到右边缘并选择"尾随"3.选项单击 - 向上拖动到视图顶部,选择"垂直"菜单选项.4.与(3)相同,只是拖动到UILabel下面的UIButton在GUI上.

使用这些设置时,标签在包含数字时始终可见,并且(如果理解,将对其进行着色以验证)即使文本没有,也会在屏幕上伸展.

只要UILabel的内容不为空,布局在轮廓和横向上看起来都是正确的.如果是空的,它似乎"缩小到适合",以至于下面的按钮向上移动到顶部.

我从90年代中期开始就是一名C++开发人员,但我在iOS/Swift开发方面经验不多,只有几周的经验.

谢谢!

Mor*_*iya 3

您始终可以为 UILabel 指定最小宽度和最小高度或约束标签的左侧和右侧。这应该可以防止标签将其尺寸更改为零。