Плавающее представление UITableView, например приложение iPhone Maps

В приложении iOS 6 Maps при просмотре деталей местоположения есть элемент управления, который действует как UISegmentedControl. Он имеет 3 "вкладки": "Информация", "Обзоры" и "Фотографии".

Этот элемент управления прокручивается вверх и вниз, когда изображение видимо, но привязывается к верхней части экрана и плавает при прокрутке вниз. Эти снимки могут помочь прояснить, что я пытаюсь сформулировать:

firstsecondthird

Любые подсказки о том, как я могу создать это поведение на моем собственном UITableView? Стиль таблицы должен иметь стиль Grouped, и мне нужно иметь несколько разделов, поэтому использование заголовка заголовка раздела не может быть и речи.

Ответ 1

используйте свойство UITableView tableHeaderView, чтобы добавить сегментированный элемент управления.

MapView и TableView должны быть братьями и сестрами и добавляться как подпрограммы в scrollView.

tableView.frame.size.height должен быть тем, что вы видите на изображении2 (parentViewHeight-navBarHeight)

scrollView.frame.size.height = tableView.frame.size.height

scrollView.contentSize.height = tableView.frame.size.height + mapView.frame.size.height

этого должно быть достаточно, чтобы получить эффект, который вы пытаетесь сделать. сообщите мне, если у вас есть какие-либо проблемы с ним.

PS: mapView - это просто владелец места, который я предположил для представления, которое вы видите над сегментированным элементом управления. вы можете заменить его любым желаемым видом. Я предполагаю, что вы знаете, как сделать сгруппированную таблицу ViewView этих представлений.