Макет приложения для iPhone
Я разрабатываю (для изучения программирования под iOS) приложение для обмена изображениями.
Требуемый макет таков:
- Это приложение с вкладками с тремя вкладками.
- Когда вы открываете приложение и не вошли в систему, панель вкладок скрыта, и вместо этого вы видите панель инструментов с двумя кнопками "SIGNUP" и "LOGIN".
- Контроллер, который вы видите при открытии приложения, одинаков для зарегистрированных и анонимных пользователей. Анонимные пользователи могут видеть только это, потому что панель вкладок (как написано выше) скрыта, и вместо этого вы видите панель инструментов для регистрации и входа в систему.
- Когда вы нажимаете на кнопку входа или регистрации, вы видите (с pushViewController of navigationController) новый выдвинутый вид для выполнения выбранного действия.
Например, вы анонимный пользователь и открываете приложение. Вы видите первый контроллер со всеми изображениями и UIToolbar внизу с двумя кнопками. Например, вы нажимаете на изображение и видите новый вид с деталями изображения (вид передается с помощью контроллера навигации). Но также и в новом виде вы можете увидеть панель инструментов UITool для регистрации и входа. Так что UIToolbar всегда виден анонимному пользователю.
Моя проблема - всегда отображать UIToolbar для анонимных пользователей и выдвигать с помощью контроллера навигации представления входа в систему или регистрации.
Я начинающий разработчик. У вас есть советы для этого? Благодарю.
1 ответ
Если я правильно понимаю вашу проблему, вы хотите постоянно отображать UIToolbar для анонимного пользователя, чтобы он мог войти из любого из ваших представлений? Если это так, все, что вам нужно сделать, это включить свою панель инструментов для входа в каждое из ваших представлений, с которого вы хотите, чтобы пользователь мог войти в систему.
Другой вариант, если я правильно помню, контроллер навигации - это технически и верхняя панель, и нижняя панель. Вы можете включить и использовать эту нижнюю панель вместо того, чтобы добавлять свою панель инструментов для входа в каждое из ваших представлений. Чтобы отключить его для известного пользователя, вам просто нужно его скрыть.
Изменить в ответ на комментарии: Вы должны инициализировать панель инструментов в вашем подклассе UINavigationController, это будет выглядеть примерно так:
customNavController.h:
@property(nonatomic,retain) UIToolbar *toolbar
customNavController.m
if (toolbar == nil) {
toolbar = [[UIToolbar alloc] init];
navigationController.toolbar = toolbar;
}
Это основная идея, хотя ваша функция инициализации для панели инструментов будет отличаться тем, что у нее будет необходимый пользовательский интерфейс для процесса входа в систему. Если вам нужна дополнительная информация о контроллере навигации, я настоятельно рекомендую прочитать справочник по классам, это на самом деле очень удобно.