динамически изменять фрейм UILabel в пользовательском TableViewCell - PullRequest
0 голосов
/ 07 марта 2012

Я написал подкласс UITableViewcell, который состоит из различных UILabels. Я определил стиль UIlabel в

  • (id) initWithStyle: (UITableViewCellStyle) Стиль reuseIdentifier: (NSString *) reuseIdentifier

и прямоугольник рамки меток в

  • (void) layoutSubviews

Теперь после определения статическогоrect для UILabels Я хочу изменить прямоугольник UILabels и написать для этого функцию, в которой я изменяю метки фреймов, но вызов этой функции не меняет фрейм UILabels.Если у кого-то есть идея, как добиться динамического фрейма надписей, поделитесь им.

1 Ответ

0 голосов
/ 07 марта 2012

Способ, которым я обычно достигаю этого, заключается в реализации пользовательской ячейки таблицы и реализации моего собственного метода drawRect в подпредставлении, где я указываю размер метки, что-то вроде этого:

@implementation CompositeSubviewBasedRestaurantCellContentView

- (id)initWithFrame:(CGRect)frame cell:(RestaurantCell *)cell
{
    if (self = [super initWithFrame:frame]) {
        _cell = cell;

        self.opaque = YES;
        self.backgroundColor = _cell.backgroundColor;
    }

    return self;
}
- (void)drawRect:(CGRect)rect
{
    _highlighted ? [[UIColor whiteColor] set] : [[UIColor blackColor] set];
    [_cell.name drawAtPoint:CGPointMake(11.0, 22.0) withFont:[UIFont boldSystemFontOfSize:17.0]];
}

Я думаю, что примеры Apple довольно хороши, например Table View Suite:

https://developer.apple.com/library/ios/#samplecode/TableViewSuite/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007318

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...