2013-02-25 125 views
0

我們如何設置標籤之間的自動間距。動態文本被提供給標籤,第二個標籤應該自動設置自身,以便兩者不會被覆蓋。我怎樣才能做到這一點。我需要當第一個標籤文本完成時,第二個標籤開始保持與以前的距離。請爲上述指導。 在此先感謝。標籤之間的自動間距

回答

1

試試這個

CGSize size = [firstLabel.text sizeWithFont:[UIFont boldSystemFontOfSize:14.0]]; 
secondLabel.frame=CGRectMake(size.width+20,4, 9, 14); 

欲瞭解更多信息,CHK這Get length of a UIlable according to a string of diffrent length

爲獲得圖像尺寸

UIImage *tempimage= [UIImage imageWithContentsOfFile:fullImgNm]; 
Float width = tempimage.size.width; 

所以你imageview的框架將是

yourImageView.frame=CGRectMake(size.width+20,4,width, 14); 

和你secondlabel框架將

secondLabel.frame=CGRectMake(size.width+width+20,4, 9, 14); 
+0

我有兩個變量之間的imageview也可以調整。 – 2013-02-25 07:32:24

+0

您可以使用圖像寬度來設置imageview的寬度,例如image.size.width – 2013-02-25 07:37:59

+0

您可以發佈它的示例代碼嗎? – 2013-02-25 07:53:03

0

使用constrainedToSize propery調整UILabel幀。

CGRect infoRect = self.conditionLabel.frame; 
NSString *fileName = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"txt"]; 

NSString *textString = [[NSString alloc] initWithContentsOfFile:fileName encoding:NSUTF8StringEncoding error:nil]; 
[self.conditionLabel setText:textString]; 
[textString release]; 

CGSize defaultSize = CGSizeMake(sectionWidth, 9999.0); 
UIFont *defaultFont = kCCOpenSansFont(font, 14.0); 

CGSize infoSize = [[self.conditionLabel text] sizeWithFont:defaultFont constrainedToSize:defaultSize lineBreakMode:UILineBreakModeWordWrap]; 

infoRect.size.height = infoSize.height; 
[self.conditionLabel setFrame:infoRect]; 
+0

我在有兩個變量之間的ImageView可以在可調過。 – 2013-02-25 07:35:03

+1

是的,你可以。你可以調整框架 CGRect imaeRect = imageview.frame: imageRect.origin.y = firstlabel.frame.origin.y + firstlabel.frame.size.height + 5; imageview.frame = imageRect; – Madhu 2013-02-25 09:24:55