作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我见过几个这样的问题,但没有太多帮助。
我正在 View Controller 中使用自定义类创建一个带有边缘插入的 UILabel,如下所示 var message = InsetLabel()
。在 viewDidLoad
中,我正在自定义标签以包裹文本,但它似乎不起作用。我哪里出错了?
我没有得到全文,如下图所示:
class InsetLabel: UILabel {
override func drawText(in rect: CGRect) {
super.drawText(in: UIEdgeInsetsInsetRect(rect, UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)))
}
}
class ViewController: UIViewController {
var messageHeading = UILabel()
var message = InsetLabel()
var messageText = "Your profile is currently going through the approval process, You will be notified as soon as it has been appproved."
override func viewDidLoad() {
super.viewDidLoad()
messageHeading.text = "APPROVAL STATUS"
messageHeading.textColor = Colors.darkGrey
messageHeading.textAlignment = .left
message.text = messageText
message.textColor = Colors.darkGrey
message.textAlignment = .left
message.lineBreakMode = .byWordWrapping
message.numberOfLines = 10
message.backgroundColor = Colors.white
message.sizeToFit()
view.addSubview(messageHeading)
view.addSubview(message)
messageHeading.translatesAutoresizingMaskIntoConstraints = false
message.translatesAutoresizingMaskIntoConstraints = false
let views = ["messageHeading" : messageHeading,
"message" : message
]
view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-20-[messageHeading]", options: [], metrics: nil, views: views))
view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-10-[messageHeading]-10-|", options: [], metrics: nil, views: views))
view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:[messageHeading]-10-[message]", options: [], metrics: nil, views: views))
view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|[message]|", options: [], metrics: nil, views: views))
}
}
最佳答案
更改您的自定义标签类别
class InsetLabel: UILabel {
override func drawText(in rect: CGRect) {
super.drawText(in: rect)
// super.drawText(in: UIEdgeInsetsInsetRect(rect, UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)))
}
}
然后添加如下约束:
let msgHeadVerticalConst = NSLayoutConstraint.constraints(withVisualFormat: "V:|-20-[messageHeading(>=20)]", options: [], metrics: nil, views: views)
let msgHeadHorizontalConst = NSLayoutConstraint.constraints(withVisualFormat: "H:|-10-[messageHeading]-10-|", options: [], metrics: nil, views: views)
let msgVerticalConst = NSLayoutConstraint.constraints(withVisualFormat: "V:[messageHeading]-10-[message(>=20)]", options: [], metrics: nil, views: views)
let msgHorizontalConst = NSLayoutConstraint.constraints(withVisualFormat: "H:|-10-[message]-10-|", options: [], metrics: nil, views: views)
NSLayoutConstraint.activate(msgHeadVerticalConst + msgHeadHorizontalConst + msgVerticalConst + msgHorizontalConst)
关于ios - 无法在 UILabel、Swift 中换行文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45557681/
在 Vaadin 7.0,显示时JavaBean Table 中的数据与 BeanContainer ,用新数据刷新表的正确方法是什么? 最佳答案 该表通过监听器监视表项的属性。如果您通过表的 Ite
首先,我使用的是带有 Axis2 1.6.2 的 eclipse,我正在 tomcat 6 上部署我创建的 Web 服务。Web 服务是在 eclipse 中通过自上而下的方法创建的。 我被要求使对我
我已将 Rails 3.1.1 应用程序升级到 Rails 3.1.3,现在,对于每个请求,它仅响应错误数量的参数(3 for 1)。不幸的是,它没有说明错误在哪里,并且应用程序跟踪为空。我认为存在一
我是一名优秀的程序员,十分优秀!