макет приложения для iPhone - PullRequest
0 голосов
/ 12 августа 2011

Я разрабатываю (для изучения программирования под iOS) приложение для обмена изображениями.

Требуемый макет:

  • Это приложение с вкладками с тремя вкладками.
  • Когда вы открываете приложение и не вошли в систему, панель вкладок скрыта, и вместо этого вы видите панель инструментов с двумя кнопками «SIGNUP» и «LOGIN».
  • Контроллер, который вы видите при открытии приложения, одинаков для зарегистрированных и анонимных пользователей. Анонимные пользователи могут видеть только это, потому что панель вкладок (как написано выше) скрыта, и вместо этого вы видите панель инструментов для регистрации и входа.
  • Когда вы нажимаете на кнопку входа или регистрации, вы видите (с помощью pushViewController of navigationController) новый выдвинутый вид для выполнения выбранного действия.

Например, вы анонимный пользователь и открываете приложение. Вы видите первый контроллер со всеми изображениями и UIToolbar внизу с двумя кнопками. Например, вы нажимаете на изображение, и вы видите новый вид с деталями изображения (вид передается с помощью навигационного контроллера). Но также в новом представлении вы можете увидеть панель инструментов UITool для регистрации и входа в систему. Таким образом, панель UIToolbar всегда доступна для анонимного пользователя.

Моя проблема - всегда отображать UIToolbar для анонимных пользователей и выдвигать навигационным контроллером вид входа или регистрации.

Я новичок в разработке. У вас есть советы для этого? Спасибо.

1 Ответ

1 голос
/ 12 августа 2011

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

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

Редактировать в ответ на комментарии: Вы должны инициализировать панель инструментов в вашем подклассе UINavigationController, она будет выглядеть примерно так:

customNavController.h:

@property(nonatomic,retain) UIToolbar *toolbar

customNavController.m

if (toolbar == nil) {
        toolbar = [[UIToolbar alloc] init];
        navigationController.toolbar = toolbar;
}

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

http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html

...