2013-06-30 1 views
0

Team,iOS Расширение UIWindow отключил контроллер корневого представления?

я продлил UIWindow, это сделал мой контроллер представления посадки (rootViewController) инвалида, т.е., я не мог в состоянии взаимодействовать с ним.

EBaseUIWindow - класс, который имеет UIWindow как суперкласс. Когда я заменяю EBaseUIWindowUIWindow, я мог бы взаимодействовать с rootViewController.

В чем причина?

self.window = [[EBaseUIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] ; 
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] ; 
    self.window.rootViewController = self.viewController; 
    [self.window makeKeyAndVisible]; 
    return YES; 

Просьба предложить?

Работа после моего редактирования ниже в моем коде:

У меня был sendEvent метод переопределен в моем EBaseUIWindow. В том случае, когда я добавил нижнюю строку, он начал работать.

[super sendEvent:event]; 

Благодаря Дай-Джану за ключ.

ответ

1

, не видя никакого кода вашего пользовательского класса, это своего рода догадка .. может быть много причин.

НО

таким образом, это сводится к «вашему классу окна (или вид или распознавателя он добавляет), потребляющее событие, прежде чем они могут достичь вида RootViewController.

определить места, вы имеете дело с прикосновениями (события в целом) и комментировать их, чтобы увидеть, что вызывает проблемы

+0

Вы правы я переопределить метод SendEvent. В том, что я хотел бы обрабатывать глобальные события. Когда я удаляю этот метод, он работает. Но мне это нужно. Что мне делать? –

+0

Спасибо за вашу подсказку. Теперь работает. Я отредактировал свой вопрос с ответом. –