Как я могу установить UITableView для сгруппированного стиля - PullRequest
76 голосов
/ 17 июня 2009

У меня есть UITableViewController подкласс с разделами. Разделы отображаются со стилем по умолчанию (без скругленных углов). Как я могу установить стиль TableView для группировки в коде? Я не использую Interface Builder для этого, поэтому мне нужно что-то вроде

[self.tableView setGroupedStyle]

Я искал в переполнении стека, но не смог найти ответ.

Ответы [ 16 ]

121 голосов
/ 19 августа 2009

Вы можете сделать следующее:

UITableView *myTable = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];

Swift 3:

let tableView = UITableView.init(frame: CGRect.zero, style: .grouped)
96 голосов
/ 17 июня 2009

Если я понимаю, что вы имеете в виду, вы должны инициализировать свой контроллер с этим стилем. Что-то вроде:

myTVContoller = [[UITableViewController alloc] initWithStyle:UITableViewStyleGrouped];
19 голосов
/ 28 мая 2011

Я даю вам свое решение, я работаю в «режиме XIB», здесь код подкласса UITableViewController:

-(id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithStyle:UITableViewStyleGrouped];
    return self;
}
13 голосов
/ 03 марта 2014

Ниже код работал для меня, я также использую класс UITableview

- (id)initWithStyle:(UITableViewStyle)style
{
     self = [super initWithStyle:UITableViewStyleGrouped];

     if (self)
    {

     }
    return self;
}
6 голосов
/ 06 сентября 2017

Если вы наследуете UITableViewController, вы можете просто снова запустить tableView.

Цель C:

self.tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];

Swift 4:

self.tableView = UITableView(frame: CGRect.zero, style: .grouped)
5 голосов
/ 15 июля 2017

Настройка, которая не так сложна, как упомянуто в вопросе. На самом деле все довольно просто. Попробуйте это на раскадровке.

enter image description here

2 голосов
/ 08 ноября 2017

Swift 4

Использование Normal TableView

let tableView = TableView(frame: .zero, style: .grouped)

Использование TPKeyboardAvoidingTableView

let tableView = TPKeyboardAvoidingTableView(frame: .zero, style: .grouped)
2 голосов
/ 28 июля 2016

Вы также можете сделать это, если хотите использовать его в подклассе, который вы уже создали в отдельном файле swift (возможно, не на 100% правильно, но работает)

override init(style: UITableViewStyle) {
    super.init(style: style)
    UITableViewStyle.Grouped
}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

Теперь в вашем appdelegate.swift вы можете позвонить:

let settingsController = SettingsViewController(style: .Grouped)
2 голосов
/ 27 февраля 2016

Swift 4 +:

let myTableViewController = UITableViewController(style: .grouped)
2 голосов
/ 26 марта 2014

Для установки сгруппированного стиля в самом пользовательском интерфейсе: -Выберите TableView, затем измените «стиль» (в инспекторе атрибутов)) с обычного на Группированный.

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