Objective c 如何在单击按钮时从文本字段中删除光标?
我正在尝试做一个简单的任务: 我有一个可编辑的文本字段,窗口上有两个按钮(标题:使可编辑/使不可编辑)。想法是:当用户单击“使可编辑”按钮时,文本字段应变为可编辑,当用户单击“使不可编辑”按钮时,文本字段应变为不可编辑 在“使不可编辑”操作中,我执行以下操作:Objective c 如何在单击按钮时从文本字段中删除光标?,objective-c,cocoa,nstextfield,Objective C,Cocoa,Nstextfield,我正在尝试做一个简单的任务: 我有一个可编辑的文本字段,窗口上有两个按钮(标题:使可编辑/使不可编辑)。想法是:当用户单击“使可编辑”按钮时,文本字段应变为可编辑,当用户单击“使不可编辑”按钮时,文本字段应变为不可编辑 在“使不可编辑”操作中,我执行以下操作: [myTextField setSelectable:NO]; [myTextField setEditable:NO]; 在“使可编辑”的操作中,我这样做: [myTextField setSelectable:YES]; [myTe
[myTextField setSelectable:NO];
[myTextField setEditable:NO];
在“使可编辑”的操作中,我这样做:
[myTextField setSelectable:YES];
[myTextField setEditable:YES];
问题是:
当myTextField中没有光标或有光标但用户没有在其中键入任何内容并单击“使其不可编辑”时,它工作正常,然后myTextField变为不可编辑,但当它有光标且用户在其中键入内容后单击“使其不可编辑”时,他/她仍然可以编辑myTextField
对于它的解决方案,我尝试在用户单击“使不可编辑”按钮后立即从myTextField中删除光标,方法是在可选和可编辑语句之前添加以下行:
[someOtherTextField选择文本:self]代码>
[[nsrunlop currentRunLoop]
performSelector:@selector(selectText:)
其他文本字段
论点:自我
订单:9999
模式:[NSArray arrayWithObject:NSDefaultRunLoopMode]]代码>
[someOtherTextField成为第一响应者]代码>
有人能为它提出一些解决方案吗?成为第一响应者的文档说 使用NSWindow makeFirstResponder:方法(而不是此方法)使对象成为第一响应者。切勿直接调用此方法 我不确定隐藏的文本字段是否可以成为第一响应者,因此请尝试:
[[myTextField窗口]MakeffirstResponder:nil]
作为第一响应者的文档
使用NSWindow makeFirstResponder:方法(而不是此方法)使对象成为第一响应者。切勿直接调用此方法
我不确定隐藏的文本字段是否可以成为第一响应者,因此请尝试:
[[myTextField窗口]MakeffirstResponder:nil]
在swift 5中
使用下面的代码
password.window?.makeFirstResponder(nil)
斯威夫特5
使用下面的代码
password.window?.makeFirstResponder(nil)
someOtherTextField在本例中隐藏!someOtherTextField在本例中隐藏!