изменить размер UITableViewCell textLabel - PullRequest
10 голосов
/ 05 января 2010

У меня есть UITableViewCell, который я хотел бы добавить справа (в дополнение к дополнительному виду). Я попытался установить размер textLabel на несколько пикселей уже, но он просто изменил его размер.

Есть ли способ изменить размер textLabel?

Ответы [ 4 ]

17 голосов
/ 24 апреля 2012

На самом деле он МОЖЕТ измениться, если вы создадите подкласс UITableViewCell и переопределите метод layoutSubviews:

- (void)layoutSubviews {
[super layoutSubviews];  //The default implementation of the layoutSubviews

CGRect textLabelFrame = self.textLabel.frame;
textLabelFrame.size.width = _textLabelMaxWidth;
self.textLabel.frame = textLabelFrame;
}

Надеюсь, это поможет.

8 голосов
/ 05 января 2010

Размер объекта, на который ссылается свойство textLabel по умолчанию в экземплярах UITableViewCell типа UITableViewCellStyleDefault, изменить нельзя, по крайней мере, по моему опыту. Лучшая идея в этих случаях - создать свой собственный подкласс UITableViewCell, в коде или даже с помощью Interface Builder, если вы хотите, и дать ему макет, который вы хотите.

1 голос
/ 09 января 2013

Я заметил, что textLabel изменяет размеры, чтобы приспособить accessoryView. Поэтому, если вы хотите, чтобы метка использовала всю ячейку, вы можете установить accessoryView в nil (я думаю, это поведение по умолчанию). Или, например, если вы хотите, чтобы метка занимала только левую половину ячейки, сделайте accessoryView пустым UIView, который охватывает правую половину ячейки. (Не обязательно быть пустым, вы можете поместить туда что-нибудь ... я хочу сказать, что это уменьшит текстовую метку.)

0 голосов
/ 02 июня 2016

Вы можете изменить размер ячейки UITableView самым простым способом. Сначала взгляните на мой пример проекта.

ResizableUIView

Он покажет вам, как вы можете самым простым способом изменить размер ячейки uitableview на ее внутреннем компоненте, создав ограничения.

    tblTest.estimatedRowHeight = 100 // This is where you can set your estimated row height
    tblTest.rowHeight = UITableViewAutomaticDimension

Другим важным фактом являются строки вашего ярлыка: enter image description here

должно быть 0

Чтобы вы поняли, я установил UILabel внутри UIView, посмотрим, как я создал ограничения для его родительского UIView.

Если вам все еще нужна помощь, просто спросите.

Удачи

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