2013-01-14 4 views
9

È possibile impostare una notifica per quando viene modificata la proprietà di testo di un UILabel? Ho provato quello utilizzato per UITextFields quando non riuscivo a trovarne uno per un UILabel, ma non ha funzionato.Rileva modifica nel testo UILabel

[[NSNotificationCenter defaultCenter] 
addObserver:self 
selector:@selector(posttosocial) 
name:UITextFieldTextDidChangeNotification 
object:nowplaying]; 
+0

Provate ad usare valore-chiave osservazione. –

+0

Come potrei fare questo per un UILabel? – user717452

+2

@userXXXX '[label addObserver: self forKeyPath: @" testo "opzioni: NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context: NULL]; 'quindi implementa i metodi appropriati dell'osservatore su' self'. –

risposta

21

È possibile utilizzare valore-chiave osservazione (KVO):

[label addObserver:self 
     forKeyPath:@"text" 
      options:NSKeyValueObservingOptionNew 
       | NSKeyValueObservingOptionOld 
      context:NULL]; 

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context 
{ 
    if ([keyPath isEqualToString:@"text"]) { 
     /* etc. */ 
    } 
}