Сравните self.parentViewController с заданным UIViewController - PullRequest
1 голос
/ 13 мая 2011

Возможно ли это?То есть я могу сделать что-то вроде этого, которое не работает ...

if (self.parentViewController == CustomViewController) {
    // do something
} else {
    // do something else
}

... чтобы, например, панель «Настройки» выглядела как один из возможных родительских контроллеров?(Еще раз, например, если меню мягкое и светлое, но игровой процесс довольно темный, было бы удобно сказать «если ваш родитель A выглядит так, но если ваш родитель B, выглядит так»)

Если это определенно невозможно сделать или если сравнить parentViewController с чем-то другим опасно / грязно, я просто установлю флаг fromView и код в соответствии с этим.

Ответы [ 2 ]

9 голосов
/ 13 мая 2011

Вы можете пойти с if([self.parentViewController isKindOfClass:[CustomViewController class]])

0 голосов
/ 08 февраля 2019

self.parentViewController возвращает NavigationController, поэтому он не работает, поэтому я нашел другой способ, который работал для меня:

unsigned long currentVCIndex = [self.navigationController.viewControllers indexOfObject:self.navigationController.topViewController];

//previous view controller
UIViewController *view = (UIViewController *)[self.navigationController.viewControllers objectAtIndex:currentVCIndex - 1];

if([view isKindOfClass:[CustomViewController class]])
{
    [self runSomething];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...