“我的自定义栏button项目”中的“导航项目中不支持简单样式”警告

我将一个圆形矩形button拖动到右边的柱形button项目的位置,并将图像设置为圆形矩形button。 除警告“导航项目中不支持的简单样式”之外,所有的都可以正常工作。 即使我select“边框”的酒吧button项的风格,警告仍然存在。 Xcode 4.2有什么问题? 提前致谢!

PS。 我使用Round Rectbutton定制了许多Barbutton项,有时候,Xcode 4.2在Barbutton项上只显示一个警告,有时会在所有Bar Button项上显示警告。

我能够通过手动编辑故事板文件并在<navigationItem>元素的Bar Button项中find有问题的style =“plain”条目来删除这些错误。

改成:

 <barButtonItem key="rightBarButtonItem" style="plain" id="juB-DL-F9i"> 

至:

 <barButtonItem key="rightBarButtonItem" id="juB-DL-F9i"> 

这清除了警告…对或错。

这可能是一个巨大的黑客,更大的担心是我没有根源,或从整体文件中删除不可见的栏button项目。 这是在经历了所有元素之后,发现一些导航栏是空的(没有孩子),并且可能发生大量的复制和粘贴(cmd + c | v)inheritance,并且不使用重复的(cmd + d)构build界面。 尽pipe根本原因不是根本原因,但症状是文档“大纲视图”中没有显示的条款项目需要修正。 界面生成器的行为让我感到有些微不足道,一个空的容器应该在大纲视图中有东西是一种气味。 那么现在就是我。 有时删除有问题的节点并重build可以修复最奇怪的问题。

警告:在你尝试这个之前备份你的故事板…版本控制是你的朋友…当你的故事板被完全冲洗并且不会编译时,我不承担任何责任。 你会得到一个“我告诉过你的!” 我几次学会了艰难的道路,但勤奋的源头控制让我头痛。

编辑:在代码块中放置括号

如果你点击警告,你不去违规导航项目执行以下操作。 (亨特的答案的视觉表示与更安全的方法从添加评论)

在文件浏览器中,右键单击故事板,然后select“ Open As Source Code

在这里输入图像说明

在源代码页面中search“plain”,并find附加到导航条目的页面。

在这里输入图像说明

要获取视图的名称,请在search栏中input“scene”,然后单击向后search箭头以在navigationItem 上方的该标记上search第一个实例

在这里输入图像说明

这里是你场景的名字,你现在可以用上面描述的右键单击方法将你的Storyboard视图改回到Interface Builder - Storyboard ,然后去select场景菜单中的场景以及里面的Bar Item。

在这里输入图像说明

转到“属性”检查器,将样式从“ Plain更改为“ Bordered

在这里输入图像说明

在“文件大纲”中,我停止了关于朴素风格的警告。 这是显示我的导航项目,并在该2栏button项目,并在每个button。 有问题的设置是在酒吧button项目。 在属性检查员中,我将Style从Plain变为Done,并且警告消失了。 注意:我正在使用XCode 5。

如果你正在使用故事板,然后点击警告,它应该带你到违规的导航项目(我有两个这个问题,一个带我去那里没有) – 改变风格和清理项目。

酒吧按钮样式设置为普通

backBarButtonItem leftBarButtonItemrightBarButtonItemUINavigationItem对象。 UINavigationItem没有style属性,所以这是警告的原因。 你应该编程设置barButtons:

iOS 4:

 UIButton *bt=[UIButton buttonWithType:UIButtonTypeRoundedRect]; [bt setFrame:YourFrame]; //[bt setImage:[UIImage imageNamed:@"backBT"] forState:UIControlStateNormal]; [bt addTarget:self action:@selector(popViewController:) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *leftButton=[[UIBarButtonItem alloc] initWithCustomView:bt]; self.navigationItem.leftBarButtonItem=leftButton; 

对于iOS 5+:

阅读UIBarButtonItem参考的“自定义外观”部分。

在导航栏中尝试使用UIBarButtonItem而不是Round rectbutton并为其设置一个Image。

就我而言,这是一个后退箭头的图像,它被设置为“平原”。

错误消息似乎涉及导航栏中的所有项目。

在确定故事板中的所有酒吧button设置为任何其他内容之后,请确保您执行了git提交并删除派生的数据。 我花了一直试图弄清楚为什么这个问题没有解决自己,并删除派生的数据文件夹修复了我。