我是初学者,我真的需要你的帮助。 autolayout
UILabel
真的让我很困惑:(
我希望所有portrait
设备中iPhone
的最终结果都是这样的。
我已将“出席”和“09:00”作为一个堆叠视图,并将其垂直放入容器中,将8点前导空间放入容器中,如下所示
我还将“running”和“7h 32m”变为另一个stackview
,并将其垂直放入容器中,将8点尾随空格设置为容器,如下所示
所以我认为2个堆栈视图将始终处于该位置。
我还有2 UIView
作为垂直线,每个stackview
有8个点差距。
问题出在中间部分,尤其是“示例说明示例说明示例说明”。我希望该注释UILabel
与每条垂直线有8个点的间隙。但是当我向每条垂直线添加8点间隙时,那2个堆叠视图移动了,我不明白为什么。你能帮我解释一下为什么会这样吗?
答案 0 :(得分:1)
将三个UIView
拖到StoryBoard
。将其命名为ATTENDVIEW
,NOTEVIEW
和RUNNINGVIEW
选择所有三个并嵌入StackView
。
StackView
轴为Horizontal
,对齐和分布为FILL
,间距为2.
将StackView
约束设为,前15,左,右为0,高度为70。
将Width
Constraints
设为70,ATTENDVIEW
和RUNNINGVIEW
。不要对NOTEVIEW
赋予任何限制。
对于ATTENDVIEW
和RUNNINGVIEW
,请分别添加单个UILabel。将其命名为AttendTextLabel
和RunningTextLabel
。
对于AttendTextLabel
和RunningTextLabel
两者,将numberOfLines设置为2,将Constraints设置为top,bottom,left和right为4。
<强>编码强>
//ATTRIBUTE TEXT FOR UILABEL - USE THIS FOR TWO LABEL
let main_string = "Attend\n09:00"
let string_to_color = "09:00"
let range = (main_string as NSString).range(of: string_to_color)
let attribute = NSMutableAttributedString.init(string: main_string)
attribute.addAttributes([NSForegroundColorAttributeName : UIColor.white], range: range)
AttendTextLabel.textColor = UIColor.black
AttendTextLabel.attributedText = attribute
<强>故事板强>
<强>输出强>