How iOS determines if the keyboard is already displayedin the group you see someone asking: How iOS determines that the keyboard is already displayed on the interface. In fact, this solution is simple:write a singleton to manage the state of the keyboard. this singleton monitors 2 events in initialization method init, respectivelyuikeyboarddidshownotification (keyboard popup notification) andUikeyboardwillhidenotification (the keyboard disappears notification and then set a property in the appropriate method is OK.) the approximate implementation is as follows:-(ID) Init{
self = [super init];if (self) {nsnotificationcenter *center = [Nsnotificationcenter defaultcenter];[Center addobserver:self selector: @selector (keyboarddidshow) name:uikeyboarddidshownotification Object:nil];[Center addobserver:self selector: @selector (keyboarddidhide) name:uikeyboardwillhidenotification Object:nil];_keyboardisvisible = NO; }return self;} -(void) Keyboarddidshow{_keyboardisvisible = YES;} -(void) Keyboarddidhide{ _keyboardisvisible = NO;} -(BOOL) keyboardisvisible{return _keyboardisvisible;}
How iOS determines if the keyboard is already displayed