看起来很简单,但我不知道为什么它不起作用。
在我的 .h 文件中,我声明:BOOL keyboardIsUp;
然后在我的 .m 文件中:
-(void)keyboardWillShow {
NSLog(@"before:");
NSLog(keyboardIsUp? @"Yes" : @"No");
NSLog(@"keyboardWillShow");
keyboardIsUp = YES;
NSLog(@"after:");
NSLog(keyboardIsUp? @"Yes" : @"No");
...
}
-(void)keyboardWillHide {
NSLog(@"before:");
NSLog(keyboardIsUp? @"Yes" : @"No");
NSLog(@"keyboardWillHide");
keyboardIsUp = NO;
NSLog(@"after:");
NSLog(keyboardIsUp? @"Yes" : @"No");
...
}
-(BOOL)keyboardStatus{
NSLog(@"keyboardStatus");
NSLog(keyboardIsUp? @"Yes" : @"No");
return keyboardIsUp;
}
这些方法肯定被正确调用(我可以从 NSLog 消息中看到这一点),并且NSLog
在前 2 个方法中使用我的消息,我可以看到 BOOL 设置正确(在函数范围内)。
但是当我打电话时keyboardStatus
,它总是记录“NO”
有任何想法吗?我已经搜索了我的其余代码,我绝对不会改变keyboardIsUp
其他任何地方的价值。