gpt4 book ai didi

macos - 启用只读 NSTextField 的 Tab 键切换吗?

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

我有一个包含三个 NSTextField 的窗口,如下所示:

+------------------------+
| +--------------------+ |
| | field1 (editable) | |
| +--------------------+ |
| +--------------------+ |
| | field2 (editable) | |
| +--------------------+ |
| +--------------------+ |
| | field3 (selectable)| |
| +--------------------+ |
+------------------------+

虽然 field1field2 是可编辑的,但 field3 设置为“可选择”,即我可以使用鼠标选择其中的文本并从中复制,但我无法编辑文本。

field2 引用 field3 作为其 nextKeyView 导出,但是当我按 Tab 键时 field2 是第一个响应者,field1 被激活,而不是 field3

一旦我在 Interface Builder 中将 field 设置为“可编辑”,制表符就会按预期工作。

如何启用只读 NSTextField 的 Tab 键切换功能?

最佳答案

当我们知道时,这非常容易,只需创建 NSTextFieldCell 的子类即可:在 Xcode 中添加一个名为“myNonEditableCellClass”的类

myNonEditableCellClass.h 中的代码

#import <Cocoa/Cocoa.h>
@interface myNonEditableCellClass : NSTextFieldCell {}
@end

--

myNonEditableCellClass.m中的代码

#import "myNonEditableCellClass.h"

@implementation myNonEditableCellClass
- (BOOL)acceptsFirstResponder {
return YES;}
@end

进入“Interface Builder”:选择第三个NSTextField,再次单击选择NSTextFieldCell,将其类更改为myNonEditableCellClass检查员。

就是这样

关于macos - 启用只读 NSTextField 的 Tab 键切换吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11025150/

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