2014-10-12 3 views
5

У меня есть UILabel, который я использую для отображения нескольких строк текста. В тот момент, когда текст отображается, он находится прямо напротив левой стороны ярлыка, который не выглядит слишком большим. Я хотел бы, чтобы текст был слегка вставлен слева.Вставить текст в 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, но я не мог заставить их работать, и я не думаю, что они были тем, что я искал ,

Кроме того, я пытался сделать то же самое с другой меткой, и в этом случае я предположил, что мог бы просто добавить «» в конец строки (так как это одна метка строки), чтобы переместить ее в справа, но я был удивлен, увидев, что это не работает?

Спасибо.

ответ

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) 
    } 
} 
+0

К сожалению, то, что мне нужно сделать, чтобы применить это к TextField? До этого момента я едва работал с классами. – user3746428

+0

@ user3746428, вы создаете новый класс с кодом, который у меня выше, а затем в IB меняйте класс вашего ярлыка на свой собственный класс (RDLabel в моем примере). – rdelmar

+0

Отлично! Большое спасибо. – user3746428

Смежные вопросы