У меня есть UITableViewCell, который я хотел бы добавить вправо (в дополнение к аксессуару). Я попытался установить размер textLabel на несколько пикселей более узким, но просто изменил его размер.
Есть ли способ изменить размер textLabel?
У меня есть UITableViewCell, который я хотел бы добавить вправо (в дополнение к аксессуару). Я попытался установить размер textLabel на несколько пикселей более узким, но просто изменил его размер.
Есть ли способ изменить размер textLabel?
Объект, на который ссылается свойство textLabel по умолчанию, в экземплярах UITableViewCell типа UITableViewCellStyleDefault, не может быть изменен, по крайней мере, не в моем опыте. Лучшая идея в этих случаях - создать свой собственный подкласс UITableViewCell, в коде или даже с помощью Interface Builder, если вы хотите, и дать ему макет, который вы хотите.
На самом деле он может быть изменен, если вы создадите подкласс 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;
}
Надеюсь, что это поможет.
Я заметил, что textLabel изменяет размеры, чтобы разместить аксессуар. Поэтому, если вы хотите, чтобы метка использовала всю ячейку, вы можете установить аксессуар в nil (я думаю, что это поведение по умолчанию в любом случае). Или, например, если вы хотите, чтобы метка занимала только левую половину ячейки, сделайте accessView пустой UIView, который охватывает правую половину ячейки. (Не нужно быть пустым, вы можете поместить туда вещи... я хочу сказать, что он сократит текстLabel.)
Вы можете изменить размер ячейки UITableView Cell самым простым способом. Во-первых, взгляните на мой образец проекта.
Он покажет вам, как вы можете изменить размер ячейки ячейки uitableview на ее внутреннем компоненте простейшим способом, создав ограничения.
tblTest.estimatedRowHeight = 100 // This is where you can set your estimated row height
tblTest.rowHeight = UITableViewAutomaticDimension
Другим важным фактом являются ваши метки:
он должен быть 0
Чтобы вы поняли, я установил UILabel внутри UIView, посмотрим, как я создал ограничения на его родительский UIView.
Если вам все равно нужна помощь, просто спросите.
Удача