gpt4 book ai didi

objective-c - 如何使可编辑的 TextField 在单击按钮时失去焦点?

转载 作者:行者123 更新时间:2023-12-03 17:20:28 25 4
gpt4 key购买 nike

在 Cocoa 应用程序中,当可编辑的 NSTextField 获得焦点时,单击其他 Cocoa NSControl (例如 slider /按钮)会将焦点保持在 NSTextField 上。我想删除该字段的firstResponder 状态,从而关闭可编辑状态。

一个简单的解决方案是手动对每个控件进行子类化,以便单击可以操纵firstResponder 状态,但我想知道是否有一个干净的解决方案,无需对我使用的每个 NSControl 进行子类化。还有更好的解决方案吗?

最佳答案

我想到的解决方案是监听点击事件。您可以检查点击事件是否发生在文本字段之外,以及它是否确实放弃了第一响应者状态。

如果您想做一些更复杂的事情,您可以将所有您想要将文本字段的第一响应者状态放弃的控件添加到 NSSet。然后,每当您注册一次点击时,您都可以检查该点击是否在该集合的任何元素的范围内。

关于objective-c - 如何使可编辑的 TextField 在单击按钮时失去焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30745163/

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