Как реализовать протокол UIAppearanceContainer в подклассе NSObject?

У меня есть собственный класс контроллера поповер, который является подклассом NSObject, Я хочу, чтобы это можно было использовать в +appearanceWhenContainedIn:, как UIPopoverController, Но просто добавляя UIAppearanceContainer к его списку соответствия протокола не работает:

@interface WLPopoverController : NSObject <UIAppearanceContainer>
- (instancetype)initWithContentViewController:(UIViewController *)viewController
…
@end

Причина, я думаю, в том, что UIKit не знает что WLPopoverController является частью иерархии контейнера внешнего вида. Например:

UIUINavigationController *navController = …
WLPopoverController *popoverController = [[WLPopoverController alloc] initWithContentViewController:navController];
…

UIKit не думает navController.navigationBar соответствует частичному порядку [UINavigationBar appearanceWhenContainedIn:[UINavigationController class], [WLPopoverController class], nil],

Что я должен сделать, чтобы сделать это так?

0 ответов

Другие вопросы по тегам