С первого взгляда похоже на простой TableView с Style == .Grouped, но как сделать так, чтобы на разных девайсах контент помещался на экране и не было необходимости скролить ( сжималось пустое место в центе). Мне пока видится 2 варианта: 1-й, пустое пространство в середине представить в виде пустых ячеек, в зависимости на каком устройстве запущено приложение считать высоту контента и поэтим данным определять это кол-во пустые ячеек. 2-й Просто использовать два разных tableView один сверху, другой снизу. 3-й ???.