【问题标题】:cocoa textfield disabling doesn't disable the cursor change可可文本字段禁用不会禁用光标更改
【发布时间】:2011-03-21 19:29:26
【问题描述】:

你好,我有一排有 2 个 NSTextField 的盒子。

此外,在特定操作上,自定义半透明视图会出现在这 2 个文本字段上。然后在其他动作上消失。

当这些 texfields 被半透明视图覆盖时,我希望它们被禁用,并且我的光标在进入任何这些文本字段的区域时不要改变。然后我希望它们在我的自定义视图消失时启用。

我使用以下命令:

[fileNameField setEnabled:NO];
[folderPathField setSelectable:NO];
[folderPathField setEnabled:NO];

[fileNameField setEnabled:YES];
[folderPathField setEnabled:YES];
[folderPathField setSelectable:YES];

分别。

问题是一个名为 fileNameField 的更改确实正确:它变得有点暗,并且在文本字段上方时既不会被选中,也不会改变我的光标。

但是另一个,folderPathField 也被禁用,无法选择文本,但是当它进入它的区域时它仍然会改变我的光标。

这两个文本字段之间的唯一区别是:
1.fileNameField 有圆角边框,folderPathField 没有边框。
2. fileNameField 的布局设置为“Scrolls”和 folderPathField -“Truncates”。

有人知道这种行为的原因是什么吗?

【问题讨论】:

    标签: cocoa cursor textfield


    【解决方案1】:

    您需要将其设置为不可编辑

    [textfield SetEditable:NO];
    

    【讨论】:

    • 没用。实际上 setSelectible 也调用了 setEditable。如果文本字段不可选择,它也不可编辑。因此,如果它可以选择但不可编辑,它仍然会改变鼠标光标。而且,据我了解, setEnabled 应该完成所有工作。如果视图被禁用,它将无法响应鼠标事件,但在我的情况下它会响应。怎么可能……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    相关资源
    最近更新 更多