Как я могу изменить рамку textLabel ячейки? - PullRequest
8 голосов
/ 28 января 2011

Я перепробовал почти все, но просто не могу немного переместить свойство cell.textLabel. Я приложил скриншот ниже и перепробовал почти все, что смог найти.

Я попытался изменить свойство .frame напрямую, попытался изменить его, используя "- (void) tableView: (UITableView *) tableView willDisplayCell" метод ". Я также попытался выделить пользовательскую метку. переместите пользовательскую метку, но она не будет разделяться на отдельные строки, как оригинальная textLabel. Мне просто нужно немного переместить изображенную многострочную метку вниз.

Любая помощь приветствуется!

enter image description here

Ответы [ 4 ]

22 голосов
/ 01 февраля 2012

переопределить layoutSubviews для вашего UITableViewCell ...

- (void)layoutSubviews {
    [super layoutSubviews];

    CGSize size = self.bounds.size;
    CGRect frame = CGRectMake(4.0f, 4.0f, size.width, size.height); 
    self.textLabel.frame =  frame;
    self.textLabel.contentMode = UIViewContentModeScaleAspectFit;
}

или вы можете просто создать свой собственный объект UILabel и добавить его в cell.contentView в качестве подпредставления.

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(4, 4, 30, 30)];
[cell.contentView addSubview:label];
[label release];
16 голосов
/ 28 января 2011

Единственный способ сделать это - использовать подкласс UITableViewCell и переопределить -layoutSubviews.В этом методе вы захотите вызвать [super layoutSubviews], а затем выполнить любые настройки кадра, которые хотите добавить к метке.

1 голос
/ 28 января 2011

В итоге я добавил \ n в начало строки.К сожалению, я не мог заставить что-либо еще работать.

0 голосов
/ 16 декабря 2015
- (void)layoutSubviews {
    [super layoutSubviews];

    CGSize size = self.bounds.size;
    CGRect frame = CGRectMake(4.0f, 4.0f, size.width, size.height); 
    self.textLabel.frame =  frame;

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