如何设置NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints?

我从Cocoa自动布局机制得到以下消息:

将NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints设置为YES,以便在发生这种情况时自动调用[NSWindow visualizeConstraints:]。

但我不知道如何“设置NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints为YES”。

我如何设置?

你也可以设置

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints"]; 

在ApplicationDidFinishLaunching中。

您可以按如下方式configuration特定scheme的设置…

1)从popup菜单中selectscheme,然后select编辑scheme…

编辑方案...菜单

2)在下面的下拉窗口中添加一个新的条目启动时通过的参数
复制并粘贴以下行。

 -NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints YES 

编辑视图

在之前的回答中有很多好的build议,但是每个应用程序都要重复一遍,即使是快速一次尝试一个想法。

如果您希望所有应用程序和所有用户都默认开启,则可以通过在terminal中键入以下命令将其设置为默认数据库:

 defaults write -globalDomain NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints YES 

您可以查看手册页上的主题变体,例如,如果您希望它在范围上更受限制。

保持这种设置的一个缺点是,其他人的软件突然间被模糊的布局突出显示 – 即使有时苹果本身也是如此。

因此,您可能需要再次closures一段时间。 这个命令非常简单:

 defaults write -globalDomain NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints NO 

而要清楚的是:inputterminal时的设置仅适用于相关机器,因此最终用户将无法获得设置。 这也意味着betatesting者不会看到紫色阴影,这可能是也可能不是你想要的。

Swift 3.0

 UserDefaults.standard.set(true, forKey: "NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraint‌​s") 

从命令行运行应用程序或在Xcode的scheme设置中添加它作为参数。