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 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;
目录
相关文章
|
2月前
|
安全 搜索推荐 Android开发
移动应用与系统:探索开发趋势与操作系统优化策略####
当今数字化时代,移动应用已成为日常生活不可或缺的一部分,而移动操作系统则是支撑这些应用运行的基石。本文旨在探讨当前移动应用开发的最新趋势,分析主流移动操作系统的特点及优化策略,为开发者提供有价值的参考。通过深入剖析技术创新、市场动态与用户需求变化,本文力求揭示移动应用与系统协同发展的内在逻辑,助力行业持续进步。 ####
49 9
|
3天前
|
存储 人工智能 JavaScript
Harmony OS开发-ArkTS语言速成二
本文介绍了ArkTS基础语法,包括三种基本数据类型(string、number、boolean)和变量的使用。重点讲解了let、const和var的区别,涵盖作用域、变量提升、重新赋值及初始化等方面。期待与你共同进步!
63 47
Harmony OS开发-ArkTS语言速成二
|
6天前
|
开发框架 JavaScript 前端开发
Harmony OS开发-ArkT语言速成一
本文介绍ArkTS语言,它是鸿蒙生态的应用开发语言,基于TypeScript,具有静态类型检查、声明式UI、组件化架构、响应式编程等特性,支持跨平台开发和高效性能优化。ArkTS通过强化静态检查和分析,提升代码健壮性和运行性能,适用于Web、移动端和桌面端应用开发。关注我,带你轻松掌握HarmonyOS开发。
29 5
Harmony OS开发-ArkT语言速成一
|
30天前
|
安全 前端开发 Android开发
探索移动应用与系统:从开发到操作系统的深度解析
在数字化时代的浪潮中,移动应用和操作系统成为了我们日常生活的重要组成部分。本文将深入探讨移动应用的开发流程、关键技术和最佳实践,同时分析移动操作系统的核心功能、架构和安全性。通过实际案例和代码示例,我们将揭示如何构建高效、安全且用户友好的移动应用,并理解不同操作系统之间的差异及其对应用开发的影响。无论你是开发者还是对移动技术感兴趣的读者,这篇文章都将为你提供宝贵的见解和知识。
|
30天前
|
人工智能 搜索推荐 Android开发
移动应用与系统:探索开发趋势与操作系统演进####
本文深入剖析了移动应用开发的最新趋势与移动操作系统的演进历程,揭示了技术创新如何不断推动移动互联网生态的变革。通过对比分析不同操作系统的特性及其对应用开发的影响,本文旨在为开发者提供洞察未来技术方向的视角,同时探讨在多样化操作系统环境中实现高效开发的策略。 ####
23 0
|
2月前
|
人工智能 Android开发 数据安全/隐私保护
移动应用与系统:探索开发趋势与操作系统的协同进化####
当今时代,移动应用不再仅仅是简单的软件工具,它们已成为扩展智能手机及平板等设备功能的关键。本文旨在深入分析当前移动应用的开发趋势,探讨移动操作系统的最新进展及其对应用开发的影响,并阐述两者如何相互促进、协同进化,共同推动移动互联网技术向前发展。 ####
|
2月前
|
人工智能 物联网 Android开发
移动应用与系统:探索开发趋势与操作系统的协同进化####
本文深入探讨了移动应用开发的当前趋势,以及这些趋势如何与移动操作系统的发展相互影响、协同进化。通过分析最新的技术动态、市场数据及用户行为变化,本文旨在为开发者提供关于未来移动应用开发方向的洞察,并讨论操作系统层面的创新如何促进或制约应用的发展。 ####
|
29天前
|
5G 数据安全/隐私保护 Android开发
移动应用与系统:探索开发趋势与操作系统革新####
本文深入剖析当前移动应用开发的最新趋势,涵盖跨平台开发框架的兴起、人工智能技术的融合、5G技术对移动应用的影响,以及即时应用的发展现状。随后,文章将探讨主流移动操作系统的最新特性及其对开发者社区的影响,包括Android的持续进化、iOS的创新举措及华为鸿蒙OS的崛起。最后,还将讨论移动应用开发中面临的挑战与未来的发展机遇,为读者提供全面而深入的行业洞察。 ####
|
2月前
|
安全 物联网 Android开发
移动应用与系统:探索开发趋势与操作系统的演进####
【10月更文挑战第29天】 本文深入探讨了移动应用开发的最新趋势与挑战,并分析了主流移动操作系统(如Android、iOS)的发展动态。通过对比不同系统的技术特点和市场表现,揭示了移动应用生态系统的复杂性及其对开发者的影响。此外,还讨论了跨平台开发工具的兴起如何改变应用开发流程,以及这些变化对未来移动计算领域的潜在影响。 ####
44 4
|
2月前
|
人工智能 5G 开发工具
移动应用与系统的未来趋势:开发、操作系统创新及挑战###
本文探讨了移动应用开发和移动操作系统的最新发展趋势,包括人工智能的集成、跨平台开发工具的兴起以及5G技术对移动生态的影响。同时,还分析了开发者面临的主要挑战,如安全性问题、性能优化和用户体验提升等。通过具体案例和技术解析,本文旨在为开发者提供前瞻性指导,帮助他们在快速变化的移动科技领域保持竞争力。 ###