JASidePanels委托viewWillAppear ext没有被调用

时间:2014-06-20 08:50:38

标签: ios objective-c uiviewcontroller jasidepanels

所以我设置了JASidePanels,它有一个实现JASidePanelController的根控制器和我的左侧面板,它是一个不同的UIViewController。

我的问题是左侧面板仅在用户第一次滑动中心面板时才接收到viewWillAppear viewDidAppear / disappear和viewWillAppear以及viewDid / WillLoad。从那时起,这些回调函数不再被调用。

最佳方式是什么或如何在左侧面板视图控制器中响应这些事件。

1 个答案:

答案 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");
        }
    }
}