我正在尝试为MAX_STEPS
隐藏/取消隐藏添加一个观察者,如下面的代码,但无论如何它都不起作用:
const MAX_STEPS = 25;
const sessionId = 'some-session-id';
const context0 = {};
client
.runActions(sessionId, 'events nearby', context0, MAX_STEPS)
.then((context1) => {
return client.runActions(sessionId, 'how about in London?', context1, MAX_STEPS - 1);
})
.then((context2) => {
console.log('The session state is now: ' + JSON.stringify(context2));
})
.catch((e) => {
console.log('Oops! Got an error: ' + e);
});
也尝试了这个,但仍然不起作用:
UINavigationBar
当我检查LLDB中的[self.navigationController addObserver:self forKeyPath:@"navigationBarHidden" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];
时,它告诉我属性[self.navigationController.navigationBar addObserver:self forKeyPath:@"hidden" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];
(表示self.navigationController.navigationBar
)。有没有人有同样的问题?
addtional message:
navigationController not found for UIViewController
}
self
我尝试使用navigationBarHidden并隐藏它们。
答案 0 :(得分:1)
KVO仅对使用KVC设置的属性进行操作。 UINavigationController没有与其导航栏的显示和隐藏有关的KVC兼容属性。因此,您无法使用KVO来检测导航栏何时显示和隐藏。
答案 1 :(得分:0)
我遇到了同样的问题。似乎无法通过KVO获得状态。我正在尝试添加一个计时器,用于检查导航栏是否已隐藏或不是每0.5秒一次。有点棘手,但至少可以用。