macos - 以编程方式禁用 NSButton 删除边框
问题描述
我有这个带有两个NSButton
和一个的侧边栏NSTextField
。链接到文本字段的操作禁用两个按钮,运行算法,然后再次启用它们。第一个按钮调用相同的操作。
如果我单击第一个按钮,一切正常。如果我在编辑文本字段时按 Enter,则该操作运行正常,但两个按钮被禁用,并且它们的边框似乎被删除。操作完成后,它们仅显示为白色文本。它们看起来不再像按钮了。
为什么会这样?
代码 :
- (IBAction)run:(id)sender {
[self setControlsEnabled:false]; // Disable controls
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[self runAlgorithm];
dispatch_async(dispatch_get_main_queue(), ^{
[self setControlsEnabled:true];
});
});
}
- (void)setControlsEnabled:(BOOL)enabled {
[generateButton setEnabled:enabled];
[solveButton setEnabled:enabled];
}
解决方案
推荐阅读
- reactjs - 我无法创建应用程序
- javascript - 如何在 IE11 中使用 d3.rollups?
- netsuite - 将 JDBC/ODBC 数据摄取到 Snowflake
- python - Python pandas 打印值,其中列 = X 和行 = Y
- java - 订阅每个主题分区
- c# - 从独立于主进程linux c#的.Net Core运行bash
- apache-flink - 在 Apache Flink 中的多个窗口运算符中处理过去的数据?
- mysql - 如何在 JPA 查询中使用 DISTINCT 选择更多字段?
- android - 使用 Quick Tile、Android Studio 启动 Activity
- sql - CLOB 数据类型可以存储为 VARCHAR2