我试图完全用代码而不是IB创建UILabel
。
我希望固定x,y角的位置和宽度,但是高度要根据要显示的文本量以及要环绕和居中的文本而变化。文本是从其他地方填充的。 (不过通常不会超过2行)
我已经走了这么远,但不确定如何使height变量和要包装的文本:
instructLabel = UILabel(frame: CGRectMake(ScreenWidth/2-350, ScreenHeight-ScreenHeight*0.2, 700, 50)) // Guess I don't want the 50 height here though?
instructLabel.backgroundColor = UIColor.blackColor()
instructLabel.preferredMaxLayoutWidth = 700 // does this conflict with above or override?
instructLabel.lineBreakMode = .ByWordWrapping
instructLabel.textAlignment = NSTextAlignment.Center
instructLabel.text = ""
instructLabel.font = FontSmall
instructLabel.textColor = UIColor.whiteColor()
self.addSubview(instructLabel)
最佳答案
您应该使用CGRectGetMidX
和CGRectGetMidY
常量,而不要计算ScreenWidth和ScreenHeight值。
instructLabel = UILabel(frame: CGRectMake(CGRectGetMidX(self.view.frame),CGRectGetMidY(self.view.frame),self.view.frame,self.view.frame))