我正在使用Xcode 6.1.1,并且无法从下拉列表中选择我的自定义类。因此,我认为它引起了其他一些相关问题(见下文)。
症状:
IB_DESIGNABLE
和IBInspectable
不起作用:在IB中选择控件时,不会显示“可设计”状态;没有任何可检查的属性出现。选择定义为IB_DESIGNABLE
的视图时,调试选定视图选项将显示为灰色。我该如何解决这个问题?
答案 0 :(得分:3)
有效的方法:
我尝试过的东西不起作用(但已经为其他人工作过):
我尝试的东西不起作用:
View
使用ABCTestView
)。相关讨论:
答案 1 :(得分:2)
这不是你的具体情况,但我在类似的“扯掉我的头发”时刻。创建自定义控制器类并使用界面构建器时,必须确保单击正在使用的视图顶部的黄色按钮(视图控制器按钮)。否则,自定义ViewController类将不会显示在身份检查器中的自定义类下拉菜单中。
答案 2 :(得分:1)
在莫名其妙地看到" Designables"行不会出现在Identity Inspector的Custom Class部分中:
之前(没有运行:Designables没有出现,Interface Builder没有渲染我的课程):
IB_DESIGNABLE
@class MyCustomClass;
@interface MyCustomView : UIView
之后(运行:Designables确实出现,Interface Builder确实渲染了我的课程):
@class MyCustomClass;
IB_DESIGNABLE @interface MyCustomView : UIView
因此看起来Xcode对事物的顺序非常敏感。
答案 3 :(得分:1)
这对我有用:blog post
我以某种方式丢失了view
引用,所以我所做的就是从一个小圆圈“New Referencing Outlet”拖到.xib和BOOM的主视图中!
答案 4 :(得分:0)
以下是一些可能的解决方案:
使用IB下拉列表选择自定义类时,不会显示任何自定义类。
手动输入自定义类的名称,而不是尝试在下拉列表中找到它。有时IB会在您键入时自动填写类的名称,特别是如果您遵循Apple的约定,即YourView作为NSView的子类。
IB_DESIGNABLE
和IBInspectable
不起作用:在IB中选择控件时,"可设计"状态不会出现;没有任何可检查的属性出现。选择定义为IB_DESIGNABLE
的视图时,调试选定视图选项将显示为灰色。
如果视图未以自定义视图的形式开始,无论是从对象库拖出还是从编辑器>创建的嵌入> ...... ,出于某种原因,更改身份检查器中的自定义类并没有什么不同。要解决此问题,请右键单击.xib并选择打开为>源代码。搜索您要修复的视图(为您的视图提供在IB中可轻松识别的标签将使这更容易)。你会找到这样一个条目:
<view ... customClass="YourView">
...
</view>
将view
更改为customView
,以便条目类似于:
<customView ... customClass="YourView">
...
</customView>
然后再次右键单击.xib并选择打开为&gt; Interface Builder XIB文档,您现在应该在IB的Identity检查器中的自定义类下看到 Designables 条目,调试所选视图将在编辑器菜单下提供。
按住Ctrl键拖动项目以创建从IB到源代码的连接(IBOutlet和IBAction),但偶尔也不允许您删除&#34;删除&#34;连接到类的源代码(好像存在类不匹配)。 (注意:这假定您在“自定义类”部分中手动键入类名。)
听起来不是您的确切问题,但在双显示器/多显示器设置中,如果IB与源代码窗口位于不同的显示器上,请转到 Apple菜单&gt;系统偏好设置...&gt;任务控制并取消选中显示具有单独的空格。这可能会产生一些视觉上的副作用(比如窗口阴影会渗透到其他显示器中),但它会解决ctrl拖动到单独监视器上的问题。