所以我设置了JASidePanels,它有一个实现JASidePanelController的根控制器和我的左侧面板,它是一个不同的UIViewController。
我的问题是左侧面板仅在用户第一次滑动中心面板时才接收到viewWillAppear viewDidAppear / disappear和viewWillAppear以及viewDid / WillLoad。从那时起,这些回调函数不再被调用。
最佳方式是什么或如何在左侧面板视图控制器中响应这些事件。
答案 0 :(得分:12)
好的我明白了。
有一个名为
的属性@property (nonatomic, readonly) JASidePanelState state;
它说: “面板的当前状态。使用KVO监控状态变化”
我可以监控3种状态变化:
JASidePanelCenterVisible = 1,
JASidePanelLeftVisible,
JASidePanelRightVisible
我现在对KVO改变状态作出反应。在我的左侧面板的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");
}
}
}