У меня есть tabBarController
, который я добавляю, помещая следующий код в:
AppDelegate.h:
...
UITabBarController IBOutlet *tabBarController;
}
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;
AppDelegate.m:
...
[self.window addSubview:tabBarController.view];
[self.window makeKeyAndVisible];
[tabBarController setDelegate:self];
Затем я использую следующий код для представления модального контроллера просмотра сканирования штрих-кода:
- (void)tabBarController:(UITabBarController *)tbc didSelectViewController:(UIViewController *)vc {
// Middle tab bar item in question.
if (vc == [tabBarController.viewControllers objectAtIndex:2]) {
ScanVC *scanView = [[ScanVC alloc] initWithNibName:@"ScanViewController" bundle:nil];
// set properties of scanView's ivars, etc
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:scanView];
[tabBarController presentModalViewController:navigationController animated:YES];
[navigationController release];
[scanView release];
}
}
Когда он действительно представлен, я думаю, что этот метод не выглядит визуально привлекательным, потому что, когда я закрываю модальное представление, я возвращаюсь к пустому просмотр.
Множество приложений для сканирования штрих-кодов или приложений, которые, например, просто отображают средство выбора изображения; сделать это довольно успешно. Мне просто интересно, какую реализацию они использовали бы для достижения такого эффекта.
Это снимок экрана приложения под названием Path , которое имеет те же функции, что и я:
Я также заметил, что в этих приложениях, если вы находитесь на любом другом элементе панели вкладок, кроме, скажем, среднего, и вы нажимаете элемент панели вкладок, который представляет модальное представление, после его закрытия он не фактически вернуть их в пустой вид, который он закрывает, как обычно, однако фактический элемент панели вкладок, представляющий модальное представление, никогда не выбирается. Я был бы счастлив с такой функциональностью, если бы это был единственный способ реализовать этот тип эффекта.
Любая помощь будет принята с благодарностью, поскольку я застрял в этом довольно долгое время. Кроме того, я даже не уверен, что это правильный способ разместить весь этот код в моем AppDelegate
, чтобы контроллер представления был представлен как модальный. Все это кажется неправильным.