我想在更改和操纵它之前捕获NSTextField中的输入文本。
如textField:shouldReplaceCharactersInRange
表示UITextField
,以及textView:shouldChangeTextInRange
表示NSTextView
。
更新:
我不介意textDidChange(notification: NSNotification)
是否会被触发
最佳答案
当您的NSTextField
成为焦点时,它将成为称为“字段编辑器”的NSTextView
的委托。结果,您的NSTextField
可以符合NSTextViewDelegate
协议,这意味着您可以像这样实现textView:shouldChangeTextInRange:replacementString:
:
@interface MyTextField : NSTextField <NSTextViewDelegate>
@end
@implementation MyTextField
- (BOOL)textView:(NSTextView *)textView
shouldChangeTextInRange:(NSRange)affectedCharRange
replacementString:(NSString *)replacementString
{
// Do your thing.
}
@end
关于macos - NSTextField是否与textField:shouldReplaceCharactersInRange等效?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53968647/