所以我设置了 JASidePanels,其中包含一个实现 JASidePanelController 的根 Controller 和我的左面板,它是一个不同的 UIViewController。
我的问题是左侧面板只接收一次 viewWillAppear viewDidAppear/disappear 和 viewWillAppear 和 viewDid/WillLoad,用户第一次将中心面板滑开。从那时起,这些回调函数不会再被调用。
什么是最好的方式或我应该如何响应我的左面板 View Controller 中的这些事件。
最佳答案
好吧,我明白了。
有一个属性叫做
@property (nonatomic, readonly) JASidePanelState state;
它指出: “面板的当前状态。使用 KVO 监控状态变化”
我可以用这个监控 3 种状态变化:
JASidePanelCenterVisible = 1,
JASidePanelLeftVisible,
JASidePanelRightVisible
我现在对 KVO 对状态的更改使用react。在我左侧面板的 viewDidLoad 中,我有:
[self.sidePanelController addObserver:self forKeyPath:@"state" options:NSKeyValueObservingOptionNew context:nil];
并接收状态变化:
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context
{
if ([keyPath isEqual:@"state"]) {
if ([change[@"new"] isEqual:[NSNumber numberWithInt:1]]) {
NSLog(@"Saving settings");
}
}
}
关于ios - viewWillAppear ext 的 JASidePanels 委托(delegate)未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24323396/