Типы контроллеров Iphone UiNavigation - PullRequest
0 голосов
/ 09 июля 2011

В примерах, которые я видел для UINavigationContoller и UITableView, переключение на следующее представление обычно вызывается нажатием на эту ячейку и нажатием другой UIViewController на вершине стека, но я хочу переключиться на следующее просмотреть, нажав следующую кнопку внизу страницы, и я хочу, чтобы она снова загрузила тот же UITableViewController, но с разным содержимым в каждой ячейке.

-Могу ли я поместить эту следующую кнопку внизу страницы? и где -Могу ли я вызвать один и тот же контроллер (но показывающий разное содержимое) и положить поверх стека, используя UINavigationController?

Потому что я хочу иметь возможность просматривать предыдущие страницы.

Ответы [ 3 ]

1 голос
/ 09 июля 2011

Обычно вы делаете то, что выделили в первую очередь, и помещаете новый подкласс UIViewController в UINavigationController.

A UIViewController должен управлять контентом на один экран.Если вы планируете нарушить это соглашение, представляя другую информацию, вы, по сути, собираетесь дублировать операторы if, чтобы решить, должен ли пользователь просматривать контент до или после нажатия кнопки.

UINavigationControllerЭто хорошо для иерархических данных, где контент становится более конкретным по мере детализации.UINavigationController также будет управлять стеком, чтобы вы могли переходить на предыдущие страницы.

Для достижения того, чего вы хотите достичь ( здесь указано) вам следует использовать UINavigationController сВаш пользовательский подкласс UITableViewController, когда пользователь отправляет вопросы, вы получаете ваш xml, анализируете его, а затем создаете новый экземпляр вашего подкласса UITableViewController и помещаете его в стек.

1 голос
/ 09 июля 2011

Вы можете добавить кнопку в нижний колонтитул вашего табличного представления. Для этого взгляните на tableView:viewForFooterInSection:. Затем добавьте к этой кнопке действие, которое выделяет и вставляет контроллер представления с новым содержимым и помещает его в стек.

1 голос
/ 09 июля 2011

Просто сделайте ваш UITableViewDatasource, возвращающий количество строк плюс один в последнем разделе, который вы в –(NSUInteger)tableView:numberOfRowsInSection:. Установите любой контент для этой ячейки, прежде чем возвращать его в tableView.

Затем нажимайте новый UIVIewController только тогда, когда пользователь касается этой последней ячейки. Вы также можете сделать так, чтобы делегат UITableView возвратил nil на:

-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath для ячеек, которые вы не хотите, чтобы пользователь выбрал.

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