gpt4 book ai didi

objective-c - Cocoa Objective C - 如何在用户按下 Enter 键或单击侧面文本框时结束 NSTextField 的编辑

转载 作者:搜寻专家 更新时间:2023-10-30 20:27:39 26 4
gpt4 key购买 nike

我在我的 GUI 上创建了两个 cocoa 控件。 NSButton 和 NSTextField。当用户点击按钮时,按钮处理程序将被执行。它将使按钮禁用并启用 NSTextField。在结束编辑时,文本字段的字符串将显示为按钮标题。

button click
{
- Make button visible = false;
- Make text field visible = true;
- Text field allow selection = true;
- text field allow editing = true;
}

control text end editing
{
- text field allow selection = false;
- text field allow editing = false;
- Set button title as text field string;
- Set text field visible = false;
- Set button visible = true;
}

上面我写了两个函数来实现功能。当用户按下 Tab 键时,我获得了所需的功能,因为 View 切换到下一个 View 。但是,我希望,一旦用户在文本字段中输入所需的文本,他就可以按 Enter 键或在文本字段外部单击以结束编辑。

在结束编辑时,文本字段应该被关闭,所写的文本应该显示为按钮的标题。

请告知如何实现此功能。任何帮助将不胜感激。

提前致谢...

最佳答案

我会让一个对象成为您的 NSTextField 的委托(delegate),然后实现委托(delegate)方法:

- (void)controlTextDidEndEditing:(NSNotification *)aNotification
{
- text field allow selection = false;
- text field allow editing = false;
- Set button title as text field string;
- Set text field visible = false;
- Set button visible = true;
}

我相信这可以捕捉到您按下 Enter 键和 Tab 键退出的情况。

关于objective-c - Cocoa Objective C - 如何在用户按下 Enter 键或单击侧面文本框时结束 NSTextField 的编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1727483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com