2013-08-05 70 views
1

對不起,一個簡單的疑問,但我找不到任何答案。我的問題是我想改變基於另一個元素的元素的起源。例如,如果我有三個標籤,則要更加正確。我將每個標籤設置在同一個x軸上,但是不同的y軸逐一設置。如果第一個標籤內容增加,第二個和第三個標籤的y軸應自動增加。所以我怎麼能計算呢..如何根據ios中的另一個元素更改元素的起源

UILabel *label1 =[[ UILabel alloc]init]; 
label1.frame=CGRectMake(10, 50, 10, 150); 
[email protected]"Favorite Cuisine "; 

[ViewProfileResultSrollview addSubview: label1]; 

[label1 sizeToFit]; 
label1.textColor=[UIColor grayColor]; 

UILabel *label2 =[[ UILabel alloc]init]; 
label2.frame=CGRectMake(10, 80, 10, 150); 
[email protected]"Preferred Dress Style"; 

[ViewProfileResultSrollview addSubview: label2]; 

[label2 sizeToFit]; 
label2.textColor=[UIColor grayColor]; 

UILabel *label3 =[[ UILabel alloc]init]; 
label3.frame=CGRectMake(10, 120, 10, 150); 
[email protected]"Spoken Languages"; 

[ViewProfileResultSrollview addSubview: label3]; 

[label3 sizeToFit]; 
label3.textColor=[UIColor grayColor]; 

回答

0

你可以使用一幀,因爲您使用以下[label1 sizeToFit];

舉例標籤2:

UILabel *label2 =[[ UILabel alloc]init]; 
label2.frame=CGRectMake(10, label1.frame.origin.y+label1.frame.size.height+30, 10, 150); 
[email protected]"Preferred Dress Style"; 
+0

k如果我沒有使用大小,以適應我只是通過設置行數方法顯示一個段落標籤現在我怎麼可以計算原點 –

+0

然後你應該使用[label1.text sizeWithFont:label1.font constrainedToSize:CGSizeMake( label1.frame.size.width,9999)];這將使您獲得依賴於label1的字體和寬度的文本的高度。 – Architect

+0

這個效果很好!謝謝 –

0

你可以很容易:

float  currHeight = 7.0; 
UILabel *label = [[UILabel alloc] initWithFrame: CGRectMake(0.0, currHeight, self.view.frame.size.width, 0.0)]; 
[label setText: @"your text"]; 
[label sizeToFit]; 

CGRect labelFrame = label.frame; 
labelFrame.size.height = label.contentSize.height; 
label.frame            = labelFrame; 

[self.view addSubview: label]; 

currHeight += label.frame.size.height + 5; 

而你可以使用currHeight作爲你的其他標籤!

希望它會幫助!

+0

k如果我沒有使用大小,以適應只是通過設置行數的方法顯示標籤中的段落現在我怎麼可以計算原點 –

相關問題