В моем делете приложения я создаю контроллер табуляции с кучей контроллеров представления для него, а затем отдельный UIViewController, который я показываю как самый верхний вид, пока пользователь не выполнит определенные действия.UIView не отвечает на касания после 'removeFromSuperview'
Я изначально закрываю контроллер моей вкладки вторым контроллером, но в итоге второй контроллер отклоняется с помощью 'removeFromSuperview'. Однако после этого просмотр контроллера табуляции не будет реагировать на любые нажатия или любое взаимодействие с пользовательским интерфейсом. Мое приложение не висит, так как я вижу, что обработка происходит.
Есть ли способ заставить контроллер табуляции стать де-факто ответчиком после того, как верхний вид отклонен?
Вот как я изначально создавать как контроллеры Вид:
{
// main navigation controller is a tab bar
UITabBarController *tabBarController = [[UITabBarController alloc] init];
tabBarController.viewControllers = [NSArray arrayWithObjects: controller1,
controller2,
controller3, nil];
// Add the tab bar to the view
[window addSubview:tabBarController.view];
// Creating the 2nd navigation controller - covering up the tab bar
// temporarily
UIViewController *viewController = [[MySecondViewController alloc]
initWithNibName:@"SomeView"
bundle:nil];
UINavigationController *navController = [[UINavigationController alloc]
initWithRootViewController:viewController];
[viewController release];
// Configure and show the second navigation controller
[window addSubview:[navController view]];
// Make everything visible
[window makeKeyAndVisible];
}
Как самый верхний вид уволен:
@interface MySecondViewController : UIViewController
{
}
-(void)dismissMe;
@end
@implementation MySecondViewController
-(void)dismissMe
{
// Here, the this view is getting removed
[self.view removeFromSuperview];
}
@end
Я не хочу, чтобы самый верхний вид, чтобы выглядеть как я добавлял модальный диалог и хотел бы, чтобы экран был там, как только приложение было запущено.
Я пробовал их, но не работал; однако это дало мне представление попробовать что-то еще, что было успешным. Я сделал класс UIWindow для обмена мнениями в методе shortMe следующим образом: [appDelegate.window exchangeSubviewAtIndex: 0 withSubviewAtIndex: 1]; \t \t \t \t [appDelegate.tabBarController.view становитсяFirstResponder]; За исключением того, что это привело к другой проблеме, когда элементы UIButton в строке состояния не будут отвечать на включение/выключение. Проводя для этого отдельный вопрос. –