我在工具条上有两个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];
}