Я использую RESIDEMenu в своем приложении. Но перед RESIDMenu мне нужно добавить контроллеры регистрации и регистрации.ResideMenu: Добавить новые viewcontrollers перед RESIDMenu
Возможно ли, если да, то как я могу это сделать?
Заранее спасибо.
Я использую RESIDEMenu в своем приложении. Но перед RESIDMenu мне нужно добавить контроллеры регистрации и регистрации.ResideMenu: Добавить новые viewcontrollers перед RESIDMenu
Возможно ли, если да, то как я могу это сделать?
Заранее спасибо.
Существует много способов сделать это. Наиболее распространенным является у вас есть контроллер LoginView, а затем в приложение делегата вы можете написать что-то подобное в приложение делегата:
if([[NSUserDefaults standardUserDefaults] valueForKey:@"AlreadyLogin"])
{
// So, here user already login then set your root view controller, let's say `SecondViewController``
SecondViewController *secondViewController = [storyBoard instantiateViewControllerWithIdentifier:@"SecondViewController"];
// then set your root view controller
self.window.rootViewController = secondViewController;
}
else
{
// It means you need to your root view controller is your login view controller, so let's create it
LoginViewController *loginViewController= [storyBoard instantiateViewControllerWithIdentifier:@"LoginViewController"];
self.window.rootViewController = loginViewController;
}
Кредит: Skip view if user already logged
Да, это вполне возможно.
Раствор А:
После успешного Войти/зарегистрироваться, сделайте следующее:
[UIApplication sharedApplication].window.rootViewController = [[RESideMenu alloc] init...];
Решение B:
Плейс контроллеры Логин/просмотр подключений в области основного содержания части RESideMenu
и отключите два боковых меню до тех пор, пока пользователь не войдет в систему.
Решение C:
RESideMenu
встроить в UINavigationController
и при необходимости скрыть панель навигации.
Для получения дополнительной информации я рекомендую исследовать «сдерживание контроллера вида», поскольку это шаблон, используемый RESideMenu
, UINavigationController
и другими типами «контейнерных» контроллеров.
я взломал вместе быстрый пример решения C и, кажется, работает хорошо:
@implementation LoginViewController
- (void)viewDidLoad {
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(50, 50, 100, 100);
[button setTitle:@"Login" forState:UIControlStateNormal];
[button addTarget:self action:@selector(goToRESideMenu) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
self.navigationController.navigationBarHidden = YES;
}
- (void)goToRESideMenu {
UIViewController *redViewController = [[UIViewController alloc] init];
redViewController.view.backgroundColor = [UIColor redColor];
UIViewController *greenViewController = [[UIViewController alloc] init];
greenViewController.view.backgroundColor = [UIColor greenColor];
UIViewController *blueViewController = [[UIViewController alloc] init];
blueViewController.view.backgroundColor = [UIColor blueColor];
RESideMenu *sideMenu = [[RESideMenu alloc] initWithContentViewController:redViewController
leftMenuViewController:greenViewController
rightMenuViewController:blueViewController];
[self.navigationController pushViewController:sideMenu animated:YES];
}
@end
Результат выглядит следующим образом:
Я хотел бы добавить модальный контроллер представления над ним , Это, на мой взгляд, лучшая практика для создания входа в систему. – Asaf