简体   繁体   中英

Swift UIlabels not showing properly in uistackview

I am trying to programatically add uilabels into a stackview but for some reason it is not showing up properly. Here is what I have:

let label = UILabel()
label.textColor = UIColor.black
label.text = "Text that goes before "

let matlabel = MTMathUILabel()
matlabel.labelMode = MTMathUILabelMode.text
matlabel.latex = "$\\frac{x}{y}$"
matlabel.textColor = UIColor.black

let endLabel = UILabel()
label.textColor = UIColor.black
label.text = "? after"

self.textStack.addArrangedSubview(label)
self.textStack.addArrangedSubview(matlabel)      
self.textStack.addArrangedSubview(endLabel) 

And here is what I get

You create a "endLabel" but you didn't set text on it. You mistakenly set text on "label" so it just override your "label" text. try the following code:

let label = UILabel()
label.textColor = UIColor.black
label.text = "Text that goes before "

let matlabel = MTMathUILabel()
matlabel.labelMode = MTMathUILabelMode.text
matlabel.latex = "$\\frac{x}{y}$"
matlabel.textColor = UIColor.black

let endLabel = UILabel()
endLabel.textColor = UIColor.black
endLabel.text = "? after"

self.textStack.addArrangedSubview(label)
self.textStack.addArrangedSubview(matlabel)      
self.textStack.addArrangedSubview(endLabel) 

Well, I think what you wanted to really do was:

self.textStack.addArrangedSubview(label)
self.textStack.addArrangedSubview(matlabel)   
self.textStack.addArrangedSubview(endLabel)

But, to your point, the "label" is not appearing. Have you tried setting the alignment and distribution?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM