2015-10-02 6 views
-5

До сих пор я использовал пользовательскую таблицу для просмотра без IB и для одного размера экрана и одной ориентации.custom tableviewcell и автоспуск

Теперь мое приложение использует автоматическую раскладку и поэтому он будет поддерживать все виды устройств ориентации и все виды размеров экрана (iPhone, IPad)

Теперь, как я могу разрабатывать пользовательские Tableview ячейки с Auto-Layout в разум.

Я обычно жестко кодирую рамку.

Теперь я могу автоматически компоновать свою ячейку таблицы.

Возможно ли, что я могу использовать ячейку Tableview без использования IB.

Помогите пожалуйста

+0

Да, это возможно. Но почему вы хотите создать ячейку без IB? Будет очень сложно отладить вашу ячейку таблицы, если вы не примените соответствующие ограничения –

+0

@ Mr.TI привык чувствовать себя так же, но как только у вас есть несколько ограничений фабрик и категорий для добавления ограничений, на самом деле может быть проще делайте это без NIB, это, конечно, зависит от сложности ячейки, но, по моему опыту, для очень сложных ячеек, легче всего использовать нить. –

+0

Мне нужно вручную создать константы в коде, найдя размер и ориентацию устройства – King

ответ

1

Вы можете определенно использовать любые UIView без использования IB, это включает в себя UITableViewCell. То, что вы могли бы сделать это в методе

- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 

, вы можете настроить все ограничения, вы можете установить каждый подвид, который вы хотите для вашего Tableview к CGRectZero, и добавить их в contentView клетки, клетки contentView, автоматически будет иметь правильный размер, основанный на размере таблицы и вставках. Поэтому после добавления всего вашего подвида с точкой зрения содержания, как это внутри initWithStyle:

[self.contentView addSubview:mySubview] 

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

+0

Так что я должен применить свою собственную логику для кадра в зависимости от размера и ориентации экрана – King

+0

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

+0

Я не могу четко понять, можете ли вы объяснить или указать мне образец. Я не могу понять – King

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