我在我正在开发的Cocoa应用程序中对我的子视图的转换进行了一些实验。回滚后,我留下5个警告,说明“不支持的配置:添加子视图转换需要视图或其中一个祖先启用核心动画层”。
我如何摆脱它们?
编辑:澄清一下:我只是玩弄了过渡,看看它们如何运作,然后将它们全部删除。还从菜单中“清理”并重建了我的项目。
答案 0 :(得分:2)
以下事情对我有用,要摆脱这个警告,
1 - 打开XiB作为源代码,打开XML文件
2 - 遵循以下XML部分,
<!-- <object class="NSDictionary" key="NSViewAnimations">
<string key="NS.key.0">subviews</string>
<object class="CATransition" key="NS.object.0">
<object class="CIRippleTransition" key="filter">
<object class="NSCustomResource" key="CI_inputTargetImage">
<string key="NSClassName">CIImage</string>
<string key="NSResourceName">largegears</string>
</object>
<object class="NSCustomResource" key="CI_inputShadingImage">
<string key="NSClassName">CIImage</string>
<string key="NSResourceName">LogoLg</string>
</object>
<object class="CIVector" key="CI_inputCenter">
<int key="CICount">2</int>
<string key="CIVector">{{150, 150}, {0, 0}}</string>
</object>
<object class="CIVector" key="CI_inputExtent">
<int key="CICount">4</int>
<string key="CIVector">{{0, 0}, {300, 300}}</string>
</object>
<real value="0.0" key="CI_inputTime"/>
<real value="100" key="CI_inputWidth"/>
<real value="50" key="CI_inputScale"/>
<bool key="CIEnabled">YES</bool>
</object>
<string key="subtype">fromTop</string>
<string key="type">fade</string>
<object class="NSArray" key="__CACodingContents">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>filter</string>
<string>subtype</string>
<string>type</string>
</object>
</object>
</object> -->
Key是搜索CATransition和Commentout,其相应的NSDictionary属性应该注释掉,
但最终,必须如何找到它的添加方式。
答案 1 :(得分:1)
找到它。
显然XCode感到困惑 - 至少这是我的解释。
当您导航到问题导航器时,警告将消失,右键单击警告并选择“打开为源代码”。然后,您将看到XIB的XML表示形式。在我的情况下,我发现了一些对转换的引用,但在关闭它们之后,它们就像警告一样消失了。
答案 2 :(得分:1)
答案 3 :(得分:0)
仔细查看视图的顶层。 在我玩过这个层次结构中的一些过渡之后,我也遇到了这个问题。
经过仔细检查后,我注意到在IB的核心动画层中,该视图的顶层仍然是一个活动过滤器。删除那个之后,我能够在没有警告的情况下进行编译。