2012-07-24 141 views
-1
- (void)viewDidLoad 
{ 
[super viewDidLoad]; 

objectiveLabel.text = objectstring; 
objectiveLabel.lineBreakMode = UILineBreakModeWordWrap; 
objectiveLabel.numberOfLines = 0; 
[objectiveLabel sizeToFit]; 

vocabularyLabel.text = vocabularystring; 
vocabularyLabel.lineBreakMode = UILineBreakModeWordWrap; 
vocabularyLabel.numberOfLines = 0; 
[vocabularyLabel sizeToFit]; 


} 

有人能指出我如何讓​​標籤1推動或移動標籤2而不是重疊的正確方向嗎?阻止兩個UILabel彼此重疊

+0

上下文?代碼片段? – 2012-07-24 00:17:33

+0

您可能會發現在界面構建器中佈局UI更容易。蘋果有一些很棒的教程。 – 2012-07-24 01:18:31

回答

1

如果你想「推動或移動」一個UILabel,你只需相應地設置框架。所以看看objectiveLabel.frame,加objectiveLabel.frame.origin.xobjectiveLabel.frame.size.width,這就是你應該設置vocabularyLabel.frame.origin.x的最小值。

CGSize size1 = [objectstring sizeWithFont:objectiveLabel.font 
         constrainedToSize:objectiveLabel.frame.size 
          lineBreakMode:objectiveLabel.contentMode]; 

CGRect frame2 = vocabularyLabel.frame; 
frame2.origin.x = objectiveLabel.origin.x + size1.width; 
vocabularyLabel.frame = frame2; 

:如果你想vocabularyLabel調整不僅對objectiveLabel框架寬度的寬度,但實際上根據如何objectstringobjectiveLabel渲染來調整,可以通過計算objectiveLabel的寬度尺寸儘管如此,不會考慮標籤的minimumFontSize。但是如果minimumFontSize與字體大小相同,那麼你應該是金色的。

+1

非常感謝這個作品 – user1547180 2012-07-24 03:31:30

0

你想要什麼叫做Auto Layout

+0

這是在當前生產版本的iOS中可用嗎? – Rob 2012-07-24 03:29:10