专栏首页一“技”之长OS X开发:NSTextField文本输入框

OS X开发:NSTextField文本输入框

OS X开发:NSTextField文本输入框

    NSTextField组件可以接收用户的输入,和UITextField不同,其可以将用户的输入进行多行显示。示例代码如下:

- (void)viewDidLoad {
    [super viewDidLoad];
    //创建
    MyTextField * textField = [[MyTextField alloc]initWithFrame:NSMakeRect(100, 200, 300, 40)];
    //设置默认提示文字
    textField.placeholderString = @"默认文字";
    //设置背景
    textField.backgroundColor = [NSColor redColor];
    //设置是否渲染背景
    textField.drawsBackground = YES;
    //设置文字颜色
    textField.textColor = [NSColor blueColor];
    //设置是否边框
    textField.bordered = YES;
    //设置是否贝塞尔
    textField.bezeled = YES;
    //设置代理
    textField.delegate = self;
    [self.view addSubview:textField];
}

NSTextField类解析如下:

//设置默认提示文字
@property (nullable, copy) NSString *placeholderString;
//富文本提示文字
@property (nullable, copy) NSAttributedString *placeholderAttributedString;
//设置背景色
@property (nullable, copy) NSColor *backgroundColor;
//设置是否渲染背景色
@property BOOL drawsBackground;
//设置文字颜色
@property (nullable, copy) NSColor *textColor;
//设置是否有边框
@property (getter=isBordered) BOOL bordered;
//设置贝塞尔边框
@property (getter=isBezeled) BOOL bezeled;
//设置是否可编辑
@property (getter=isEditable) BOOL editable;
//设置是否可选择文字
@property (getter=isSelectable) BOOL selectable;
//选择文本
- (void)selectText:(nullable id)sender;
//代理
@property (nullable, assign) id<NSTextFieldDelegate> delegate;
//是否允许称为第一响应
@property (readonly) BOOL acceptsFirstResponder;
//设置贝塞尔风格
/*
typedef NS_ENUM(NSUInteger, NSTextFieldBezelStyle) {
    NSTextFieldSquareBezel  = 0,
    NSTextFieldRoundedBezel = 1
};
*/
@property NSTextFieldBezelStyle bezelStyle;
//子类可以重写如下方法:
//即将进入编辑状态时被调用 返回值决定是否允许编辑
- (BOOL)textShouldBeginEditing:(NSText *)textObject;
//即将结束编辑状态时调用 返回值决定是否允许结束编辑
- (BOOL)textShouldEndEditing:(NSText *)textObject;
//已经开始编辑时调用
- (void)textDidBeginEditing:(NSNotification *)notification;
//已经结束编辑时调用
- (void)textDidEndEditing:(NSNotification *)notification;
//文本改变时调用
- (void)textDidChange:(NSNotification *)notification;

//下面这些方法用来快捷创建NSTextField
+ (instancetype)labelWithString:(NSString *)stringValue;
+ (instancetype)wrappingLabelWithString:(NSString *)stringValue;
+ (instancetype)textFieldWithString:(nullable NSString *)stringValue;
+ (instancetype)labelWithAttributedString:(NSAttributedString *)attributedStringValue;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • iOS8统一的系统提示控件——UIAlertController

            相信在iOS开发中,大家对UIAlertView和UIActionSheet一定不陌生,这两个控件在UI设计中发挥了很大的作用。然而如果你用过,...

    珲少
  • iOS UITableViewCell使用详解

    - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSStr...

    珲少
  • NSTextField控件应用详解 原

        NSTextField用来接收用户文本输入,其可以接收键盘事件。创建NSTextFiled的示例代码如下:

    珲少
  • 新晋SCI大神师姐的写作技巧

    感谢弗雷赛斯邀请,确实从这里获益良多,半年前我都还不敢开始写SCI的,当时主要还是英语基础比较薄弱,但现在却要开始争取国奖了,想想很是感慨。

    百味科研芝士
  • 这次真的忽略了一些ActiveMQ内心的娇艳

    首先ActiveMQ有俩种消息队列模式:点对点和发布订阅,这俩种都有不可替代的应用场景,前者适用于消息唯一传递的业务,后者适用于分布式环境下进行多面数据同步的...

    赵小忠
  • windows下的C++ socket服务器(4)

    void handleAccept(int socket_fd) { char buf[1024] = { '\0' }; string cmd...

    magicsoar
  • Linux性能监控工具nmon安装及使用教程解析

    Nmon (Nigel’s Monitor)是由IBM 提供、免费监控 AIX 系统与 Linux 系统资源的工具。该工具可将服务器系统资源耗用情况收集起来并输...

    砸漏
  • Nmon使用详解

    Nmon 是免费监控 AIX 系统与 Linux 系统资源的工具。该工具可将服务器系统资源耗用情况收集起来并输出一个特定的文件,并可利用 excel 分析工具(...

    cctester
  • Centos 6.x 共存安装Python 2.7 or 3.x

    由于yum命令依赖系统的python2.6, 所以如果直接覆盖的话,会导致yum不能工作。 所以自带的python 2.6绝对不能动。 不过可以通过自定义安装来...

    用户1416054
  • 挑战程序竞赛系列(16):3.1最大化最小值

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1147447

扫码关注云+社区

领取腾讯云代金券