Как узнать, какой пользователь uiview использует - PullRequest
0 голосов
/ 31 декабря 2011

Я использую push-уведомление и управляю им, когда пользователь использует приложение.Таким образом, появляется окно с предупреждением, и при щелчке оно должно перенаправляться на пользовательский интерфейс.Теперь, если пользователь показывает этот пользовательский интерфейс при появлении предупреждения, как я могу узнать пользовательский интерфейс сверху?Как я могу обновить текущий UIView?Оповещение отображается в делегате приложения в методе didReceiveRemoteNotification.Спасибо

РЕДАКТИРОВАТЬ: я хочу сделать что-то вроде этого:

UiviewController current* = [delegate getCurrentView];
if(current.toString=="NotificationView"){
   [current update:notificationText];
}else{
   saveNotification;
   goToNotificationView;
}

1 Ответ

1 голос
/ 31 декабря 2011

Я думаю, что, скорее всего, у вас есть UINavigationController в вашем основном window (это может быть UITabBarController и т. Д.), Но если у вас есть UINavigationController в вашем основном window, то вы можете проверитьконтроллер вида сверху вашего UINavigationController с помощью [self.navigationController topViewController]; или вы также можете проверить UINavigationController стек viewControllers, который возвращает массив всех контроллеров представления, которые вы вставили в UINavigationController, и может получить последний объект этогоarray, который является вашим видом сверху с помощью [[self.navigationController viewControllers] lastObject];.

Если у вас есть UITabBarController в вашем основном window, то вы можете получить экземпляр UINavigationController (если он есть) с помощьюиспользуя [[self.tabbarcontroller viewControllers] objectAtIndex:[self.tabbarcontroller selectedIndex]]; и можете выполнить описанные выше шаги, чтобы получить вид сверху.

...