Cocoa 界面生成器-使用布局视图框
我在应用程序中使用布局视图-“框”,当我构建它时,我得到以下警告。 “不支持的配置。填充颜色属性需要NSCustomBox类型和NSLineBorder类型”。我使用的是XCode 4.0。 原因可能是什么?我如何解决 谢谢Cocoa 界面生成器-使用布局视图框,cocoa,macos,xcode4,interface-builder,Cocoa,Macos,Xcode4,Interface Builder,我在应用程序中使用布局视图-“框”,当我构建它时,我得到以下警告。 “不支持的配置。填充颜色属性需要NSCustomBox类型和NSLineBorder类型”。我使用的是XCode 4.0。 原因可能是什么?我如何解决 谢谢 LS Developer如果我将非自定义主框的边框颜色或填充颜色设置为IB初始化为的颜色以外的任何颜色,我会收到一条警告“border color属性需要NSCustomBox类型和NSLineBorder类型” 我可以通过将“初始”颜色从另一个项目中的框拖到框的“属性IB
LS Developer如果我将非自定义主框的边框颜色或填充颜色设置为IB初始化为的颜色以外的任何颜色,我会收到一条警告“border color属性需要NSCustomBox类型和NSLineBorder类型” 我可以通过将“初始”颜色从另一个项目中的框拖到框的“属性IB检查器”窗格中有问题的颜色选项上,从而消除警告 填充颜色更改会产生稍有不同的警告文本,但在另一个项目中从原始框拖动填充颜色也会消除该警告。
苹果似乎忘了在颜色选择菜单中添加“初始值”项。迟做总比不做好,但在我搜索时,这是我找到的唯一一条描述此事的线索。不管怎样,谢谢路人,你的回答帮我找到了另一个解决办法。可能会对某人有所帮助,因为拖放颜色对我来说并不完全有效
<object class="NSTextFieldCell" key="NSTitleCell">
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">uniqueNameHere</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="449986353"/>
<object class="NSColor" key="NSTextColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwLjgwMDAwMDAxMTkAA</bytes>
</object>
</object>
<reference key="NSContentView" ref="183372649"/>
<int key="NSBorderType">0</int>
<int key="NSBoxType">0</int>
<int key="NSTitlePosition">0</int>
<bool key="NSTransparent">NO</bool>
<bool key="NSFullyTransparent">YES</bool>
<real value="0.0" key="NSBorderWidth2"/>
<object class="NSColor" key="NSBorderColor2" id="483112007">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">textColor</string>
<reference key="NSColor" ref="703464901"/>
</object>
<reference key="NSFillColor2" ref="483112007"/>
67108864
0
唯一的
3.
mcawljgwmdawmdaxmdaxmtkaa
0
0
0
不
对
6.
系统
文本颜色
NO
之后的所有内容,直到下一个
,留下:
<object class="NSTextFieldCell" key="NSTitleCell">
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">uniqueNameHere</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="449986353"/>
<object class="NSColor" key="NSTextColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwLjgwMDAwMDAxMTkAA</bytes>
</object>
</object>
<reference key="NSContentView" ref="183372649"/>
<int key="NSBorderType">0</int>
<int key="NSBoxType">0</int>
<int key="NSTitlePosition">0</int>
<bool key="NSTransparent">NO</bool>
67108864
0
唯一的
3.
mcawljgwmdawmdaxmdaxmtkaa
0
0
0
不
此存档包含对标识符为“483112007”的对象的引用,但不包含具有匹配标识符的对象。
在.xib源代码中搜索该编号并删除该行,例如
。在我的例子中,它只是再往下几行但仍然没有找到问题的原因。从来没有任何设置颜色的警告,在意外地拖动IB中的某些项目后,此警告意外弹出。根据Jonas的回答,我通过在.xib文件中搜索NSTransparent来修复我的警告: 右键单击或按ctrl键单击.xib并选择“打开为->源代码” 搜索NSTransparent以查找类似的内容:
<bool key="NSTransparent">NO</bool>
<object class="NSColor" key="NSFillColor2">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MSAwLjgwMDAwMDAxMTkgMC40MDAwMDAwMDYgMC4wNAA</bytes>
</object>
否
1.
msawljgwmdawmdawmdaxmdaxmdaxmdkgmtc40mdawmdawmdygmc4wnaa
然后我删除了
我解决了在一个新项目中从NSBox拖放颜色的问题,正如Wayfaring陌生人建议的那样。如果您想手动更改XIB,更改(我在Xcode 5.0.2上)如下:
已删除(您的值可能会不同,这是“默认颜色”:
-
-
替换为:
+ <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
+ <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+
+
当然,在相关章节中,XIB是第5版。我只是通过在IB中选择框类型中的Custom来解决这个问题。这使得消息立即消失
首先,我对这条消息感到困惑,因为我做了类似的事情(即更改NSBox的背景色)在另一个项目中改为白色。但后来我记得我也更改了框类型。这就成功了。由于我的框只是装饰性的,我创建了一个新框,将旧框中的按钮移动到新框中,并删除了旧框。问题结束。您是否尝试过使用NSCustomBox
和NSLineBorder
?Xcode 6.2再次,我从一个新实例化的NSBox复制了borderColor
和fillColor
标记,从而消除了警告。此外,我必须清理项目,关闭Xcode,然后重新构建,以最终使警告消失
+ <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
+ <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>