如何设置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: "NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints")
从命令行运行应用程序或在Xcode的scheme设置中添加它作为参数。