Как поместить UISegmentedControl под NavigationController? - PullRequest
2 голосов
/ 20 апреля 2010

Мне было интересно, какой лучший подход для того, чтобы UISegmentedControl появлялся прямо под навигационным контроллером, как в приложении AppStore:

example image

Содержимое, которое я должен поместитьв разных представлениях есть UITableView, как и в AppStore.

До сих пор я думал:

  • viewController с UIToolbar с UISegmentedController
  • ViewController присоединяет мои UITableViews

Но я не могу понять, как структурировать файлы исходного кода моего контроллера.

У вас есть лучшие практики, рабочие примеры или хотя бы советы?

1 Ответ

1 голос
/ 20 апреля 2010

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

Чтобы запретить прокрутку панели вместе с содержимым таблицы, я бы сделал ее родственным представлением (относительно UITableView) и поместил бы ее чуть вышетабличное представление.Если вы выберете этот подход, у вас будет следующая иерархия представлений: представление контроллера содержит панель инструментов и представление таблицы.Обратите внимание, что вам придется настроить табличное представление и обработать отмену выбора строки в -viewWillAppear: самостоятельно, дублируя функциональность UITableViewController.

...