我有一个UILabel,用于显示多行文字。在显示文本的那一刻,它正好在标签的左侧,看起来不太好。我希望文字从左边稍微插入。
到目前为止,这是我的代码:
if notes.objectAtIndex(indexPath.row) as NSString == "" {
cell.notesLabel.text = "No notes to display."
cell.notesLabel.textAlignment = NSTextAlignment.Center
} else {
cell.notesLabel.textAlignment = NSTextAlignment.Left
}
我正在查看一些Objective-C示例,但我无法让它们工作,我认为它们并不是我想要的。
另外,我试图用不同的标签做同样的事情,在这种情况下我假设我可以在字符串的末尾添加“”(因为它是一个单行标签)来移动它是的,但我很惊讶地看到这不起作用?
感谢。
答案 0 :(得分:11)
要从左边缘插入文本,您应该创建一个UILabel子类,并覆盖drawTextInRect:,
class RDLabel: UILabel {
override func drawTextInRect(rect: CGRect) {
let newRect = CGRectOffset(rect, 10, 0) // move text 10 points to the right
super.drawTextInRect(newRect)
}
}