Как реализовать протокол 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]
,
Что я должен сделать, чтобы сделать это так?