2015-12-18 2 views
0

Я работаю в чате. Поэтому я остановился там, где должен был бы делать ярлыки для отображения текста. Я пытался сделать свой ярлык, как:Ящик для определения размера

messageLabel.frame = CGRectMake(0, 0, self.chatScrollView.frame.size.width - 90, CGFloat.max) 
messageLabel.sizeToFit() 

messageLabel.frame.origin.x = (self.chatScrollView.frame.size.width - self.messageX) - messageLabel.frame.size.width 
         messageLabel.frame.origin.y = self.messageY 

но мой лейбл не появлялся вообще. Если бы я сделать некоторые точную высоту моего лейбла, например 100 и строки комментария

//messageLabel.sizeToFit() 

поэтому весь код этикетки:

let messageLabel: UILabel = UILabel() 
messageLabel.text = self.messageArray[i] 
messageLabel.frame = CGRectMake(0, 0, self.chatScrollView.frame.size.width - 90, CGFloat.max) 
messageLabel.backgroundColor = UIColor.groupTableViewBackgroundColor() 

messageLabel.numberOfLines = 0 
messageLabel.lineBreakMode = .ByWordWrapping 
messageLabel.sizeToFit() 

messageLabel.textAlignment = .Left 
messageLabel.font = UIFont(name: "Apple SD Gothic Neo", size: 20) 
messageLabel.textColor = UIColor.grayColor() 


messageLabel.layer.zPosition = 20 
messageLabel.frame.origin.x = (self.chatScrollView.frame.size.width - self.messageX) - messageLabel.frame.size.width 
messageLabel.frame.origin.y = self.messageY 
print(self.messageArray[i]) 
print("label origin \(messageLabel.frame.origin.x, messageLabel.frame.origin.y)") 
self.chatScrollView.addSubview(messageLabel) 
self.messageY += messageLabel.frame.size.height + 30 

let width = self.view.frame.size.width 

self.chatScrollView.contentSize = CGSizeMake(width, self.messageY) 
self.chatScrollView.bringSubviewToFront(messageLabel) 

Edit # 1

  1. этикетки, безусловно, имеет текст (заявление печати подтверждает это)
  2. Идентификация метки находится на экране (вторая заявка на печать подтверждает это)

Вопрос: Как я могу это исправить (или, как я могу сделать мой лейбл появляться и быть самостоятельной калибровки этикетки)?

+0

Когда вы вызываете 'messageLabel.sizeToFit()' does 'messageLabel' содержит текст? Возможно, текст пуст, и он изменяет его размер до нулевой ширины. – NeverHopeless

+0

использование ** принесенныйSubviewsToFront ** способ. – sourav

+0

@NeverHopeless он содержит точно –

ответ

0

Я нашел решение! я просто кладу

messageLabel.text = self.messageArray[i] 

прямо под

let messageLabel: UILabel = UILabel() 

так появился мой лейбл!