2010-06-17 4 views
2

У меня есть UILabel, и если я отрегулирую размер текста, я могу заставить его искать loke 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; 

Конечно заменить MARGIN с тем, что вы хотите, чтобы ваш запас будет.

Или вы могли бы подкласс 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

изменение рамки этикеток не работает, однако подклассификация. благодаря! –

+0

Рад помочь! Если бы этот ответ сработал для вас, подумайте о присуждении награды :) – robinjam

+0

сделал так, это не позволило мне сразу же присудить ему награду. Благодарю. –

Смежные вопросы