2013-06-26 4 views
-1

Я увеличиваю высоту клетки по методу heightForRowAtIndexPath, в результате чего центр label находится в центре. Как убедиться, что label все еще наверху с текстом, независимо от высоты строки?Как сохранить текст метки ячейки сверху, когда высота ячейки увеличивается?

+0

Добавить метку на ячейку и установить ее рамку согласно вашему требованию. – Girish

+0

Я сделал это, но он все еще приближается. Я сделал это по умолчанию textLabel. –

ответ

1

Вы можете сделать это двумя способами.

  1. Создайте пользовательскую метку и установите ее.

    UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)]; 
    [cell.contentView addSubView:lbl]; 
    
  2. UITableViewCell Используйте подкласс и переопределить -layoutSubviews. В этом методе вы хотите позвонить по номеру [super layoutSubviews].

    - (void)layoutSubviews { 
        [super layoutSubviews]; 
    
        CGSize size = self.bounds.size; 
        CGRect frame = CGRectMake(0.0f, 0.0f, size.width, size.height); 
        self.textLabel.frame = frame; 
        self.textLabel.contentMode = UIViewContentModeScaleAspectFit; 
    } 
    
+0

Отлично, ты уже сказал точный ответ перед собой :) – NightFury

0

autolayout В начало Недвижимость UILabel.

1

Написать следующий код:

UILabel *myLable = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, width, height)]; 
[cell.contentView addSubView: myLable]; 

Если же Вы хотите myLable Фрам является similare к myLable.text затем написать ..

[myLable sizeToFit]; 
1

Вы не можете изменить положение textlabel, как это настраивается автоматически.

Первый вариант - вам нужно подклассифицировать UITableViewCell и настроить рамку textLabel.

Другое, что вы создаете свой собственный ярлык и делаете текстовую метку нуль. Поэтому, когда высота ячейки будет изменяться, позиция вашего ярлыка не изменится.

0

попробовать это:

установлено значение False, чтобы "AUTORESIZE подвиды" свойство пользовательской ячейки ...

2

Хотя выделение UITableViewCell, что вам нужно сделать, как это ..

UITableViewCell * cell; 

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:string]; 

В время инициализации со стилем: UITableViewCellStyleSubtitle придет.

Надеюсь, что это сработает.

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