2010-06-17 76 views
2

我有一個UILabel,如果我調整文本的大小,我可以讓它看起來像一個UITextView,但左邊距不同,在UIlabel上,文本正好朝左UITextView略有邊距的邊界。我如何調整UILabel,以便當這些控件放置在另一個之上時,它們看起來一致?UILabel:調整邊距以匹配UITextView

回答

5

簡單地改變標籤的框架:當然

CGRect frame = label.frame; 
CGRect newFrame = CGRectMake(frame.origin.x + MARGIN, frame.origin.y, frame.size.width - MARGIN, frame.size.height); 
label.frame = newFrame; 

中替換爲任何你想要你的保證金是保證金。

或者你可以繼承UILabel和覆蓋textRectForBounds:limitedToNumberOfLines:像這樣:

- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines { 
    CGRect newBounds = CGRectMake(bounds.origin.x + MARGIN, bounds.origin.y, bounds.size.width - MARGIN, bounds.size.height); 
    return [super textRectForBounds:newBounds limitedToNumberOfLines:numberOfLines]; 
} 

希望這有助於!

+0

更改標籤框架不起作用,但是子類化不會。謝謝! – 2010-06-24 08:15:34

+0

樂意幫忙!如果這個答案適合你,請考慮獎勵賞金:) – robinjam 2010-06-24 14:33:08

+0

這樣做,它不會讓我馬上獎勵它。謝謝。 – 2010-06-28 22:59:17