1. Não se esqueça de escrever desalocar ao adicionar centro de notificação (mesmo ARC)
- (vazio) viewDidLoad {
[super viewDidLoad];
// Adicionar centro de notificação ( não se esqueça de escrever dealloc )
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector (notificationClick :) name: @ "friend" object: nil];
}
- (vazio) dealloc {
[[NSNotificationCenter defaultCenter] removeObserver: self];
}
Se um botão for clicado com o método nameButtonClick adicionado, o centro de notificação será acionado
- (vazio) nameButtonClick: ( NSNotification *) notification
{
[[NSNotificationCenter defaultCenter] postNotificationName: @ objeto "amigo": self userInfo: nil];
CGRect rect = [notification.userInfo [UIKeyboardFrameEndUserInfoKey] CGRectValue]; // Quando o fim do teclado reto
}
2. Adicione um ouvinte a self.mainView KeyPath: ouça as opções de atributo do frame : ouça as novas alterações de valor
[self.mainView addObserver: self forKeyPath: @ "frame" options: NSKeyValueObservingOptionNew context: nil];
Chamado quando o quadro de self.mainView muda
- (void) observeValueForKeyPath: (NSString *) keyPath ofObject: (id) alteração do objeto: (NSDictionary <NSString *, id> *) alterar contexto: (void *) contexto