2016-04-08 2 views
0

Я хочу разработать Tableview как этотКак настроить размер ячейки в Tableview

enter image description here

Но когда я регулирую

В cellForRowAtIndexPath я поставил cell.contentView.frame.width = CGFloat(tableView.bounds.width - 40) сделать contentView из ячейки меньшего, но он показывает ошибку:

Cannot assign to property: 'width' is a get-only property

Так как сделать камеру меньшей.

Любая помощь будет оценена, спасибо.

+0

Почему бы вам не поставить ведущее пространство? –

+0

Я нашел проблему, если я хочу создать такой дизайн, я должен поместить UIView внутри contentView ячейки. :) – Khuong

+0

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

ответ

1

Вы не можете напрямую назначить widthCGRect. A CGRect состоит из position и size, а size в свою очередь состоит из height и width.

Другими словами, frame.width просто геттер для frame.size.width

Так правильное назначение было бы:

cell.contentView.frame.size.width = CGFloat(tableView.bounds.width - 40)

Но это совсем плохая картина. Вы должны спроектировать ячейку как пользовательскую ячейку, либо в новом .xib-файле, либо как ячейку прототипа в раскадровке, а также использовать AutoLayout для компоновки подзонов содержимого contentView.

0

Для пользовательских сота, как этот образ я отправил, просто создать UIView внутри contentView клетки, как это:

enter image description here

Результат здесь:

enter image description here

+0

Я не видел никаких других этих ячеек – t4nhpt

+0

Я просто приведу пример :) – Khuong

1

Использование метод heightForRowAtIndexPath

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    return calculatedHeightForSpecificIndexPath 
} 
+0

он работает, спасибо –

+0

@ Алексия-Ян рад, что я могу помочь. Если бы мой ответ помог вам, не могли бы вы пометить его как принятый? Благодаря! – penatheboss

+1

Жаль, что я мог, @ Хьюон спросил тебя. Надеюсь, он сейчас вспомнит вопрос –

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