NSTextField代理回调

  • Post author:
  • Post category:其他




NSTextField代理回调

无效方法:

-(nullable NSArray *)textField:(NSTextField *)textField textView:(NSTextView *)textView candidatesForSelectedRange:(NSRange)selectedRange API_AVAILABLE(macos(10.12.2))
{
    NSLog(@"%@",self.commentText.stringValue);
    self.model.comment = self.commentText.stringValue;
    return nil;
}
- (BOOL)textField:(NSTextField *)textField textView:(NSTextView *)textView shouldSelectCandidateAtIndex:(NSUInteger)index API_AVAILABLE(macos(10.12.2))
{

    return YES;
}
- (void)textFieldChange:(NSTextField *)textField
{

}
- (void)textDidEndEditing:(NSNotification *)notification
{

}

有效方法:

-(void)controlTextDidChange:(NSNotification *)obj {
    self.model.comment = self.commentText.stringValue;
}
-(void)controlTextDidEndEditing:(NSNotification *)obj {
    
}
-(void)controlTextDidBeginEditing:(NSNotification *)obj {
    
}

总结:

NSTextField类继承自NSControl类,NSControl类中定义了许多属性可以获取到文本框中的文本,例如stringValue属性.

关于NSTextFieldDelegate协议,其实际上是继承自

NSControlTextEditingDelegate协议,这个协议中定义了NSTextField控件在活动过程中的回调方法,例如开始编辑,结束编辑等。



版权声明:本文为zcvbnh原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。