美文网首页
NSTextField 和 NSSecureTextField

NSTextField 和 NSSecureTextField

作者: 包砸豆沙馅 | 来源:发表于2018-11-27 15:35 被阅读0次

    分别创建NSTextField 和 NSScureTextField 的子类, 在子类方法中, 重写becomeFirstResponse方法, 在当前的textField变为第一响应的时候 对其做一些改变. 

    在becomeFirstResponder方法内, 写入改变光标颜色的方法. 由于[self currentEditor] 总是会返回当前正在编辑的NSTextView, 所以可以使用NSTextView的insertPointColor方法来改变光标颜色. 具体代码如下

    - (BOOL)becomeFirstResponder {

        BOOLsuccess =  [super becomeFirstResponder];

        if(success) {

            NSTextView * textView = (NSTextView *)[self currentEditor];

            if([textView respondsToSelector:@selector(setInsertionPointColor:)]) {

                [textView setInsertionPointColor:[NSColor redColor]];

            }

        }

        return success;

    }

    有些文章中介绍说要自定义NSTextFieldCell和NSSecureTextField, 在其内部重写setUpFieldEditorAttributes:方法, 来对当前正在编辑的NSTextView进行设置setInsetPointColor,虽然原理是一样的, 但是实际操作中发现, 重写cell的setUpFieldEditorAttributes方法, 对NSSecureTextField并不起作用, 而且还会影响到SecureTextField的focusRing. 

    macOS开发刚刚入坑, 如有问题, 请不吝赐教. 

    相关文章

      网友评论

          本文标题:NSTextField 和 NSSecureTextField

          本文链接:https://www.haomeiwen.com/subject/wrwgqqtx.html