Вы должны будете сделать свою собственную реализацию в cellForRowAtIndexPath, где вы возвращаете строку, которая действительно состоит из нескольких строк и, возможно, метки заголовка. Или, может быть, лучше сделать каждую строку «строкой заголовка» и проверить в cellForRowAtIndexPath, находитесь ли вы в «строке заголовка» или обычной строке; как то так:
if (indexPath.row == 0) {
// return header row
} else {
// return normal row
}
и, конечно, в numberOfRowsInSection вам нужно будет вернуть нормальное количество строк + 1 для разделов с заголовком.