Interface Builder将自定义视图分配为常规UIView

时间:2014-08-26 22:09:15

标签: ios objective-c interface-builder

编辑#3:我以某种方式错过了第二次控制台消息10次我跑了这个,让我对此感到困惑。这是一个已经解决的已知问题。我需要&#34; -all_load -ObjC&#34;设置为链接器标志,我不知道它为什么不喜欢它。见"Unknown class <MyClass> in Interface Builder file" error at runtime

我试图在我的故事板中使用FBLoginView(Facebook SDK框架的一部分),UIView的子类,并在viewDidLoad中为其设置属性在视图控制器中为其superview。 这就是我所拥有的: IB and code

如您所见,显示的UIView(灰色框)的类设置为FBLoginView。它已链接到右侧视图控制器.m中的属性loginView

viewDidLoad中,它会_loginView.readPermissions = @[@"user_friends"],导致程序崩溃。编辑#2:日志说:

App became active.
Unknown class FBLoginView in Interface Builder file.
-[UIView setReadPermissions:]: unrecognized selector sent to instance 0x10c120b90

我设置了一个断点,loginViewUIView,而不是FBLoginView。这没有意义;我已经在Interface Builder中将其更改为FBLoginView。我该如何解决这个问题?

编辑:这是IB中视图控制器的连接检查器: enter image description here

2 个答案:

答案 0 :(得分:0)

有些事情要尝试:

  • 使用其他名称复制FBLoginView类并尝试使用。
  • 仔细检查FBLoginView类名的拼写 - 检查.m和.h的文件名,然后检查实际文件中的接口/实现,以确保它的大小写正确。

答案 1 :(得分:0)

确保FBLoginView.m被声明为您当前的构建目标成员(例如编译源)。 为此,请在Project Navigator中选择FBLoginView.m,参见&#34;目标成员资格&#34;文件检查器中的部分作为附加的屏幕截图(已删除)。

修改

你应该阅读the documentation :)
请参阅&#34;添加登录UI控件&#34;的底部。部分。

您必须在[FBLoginView class] AppDelegate方法中添加- application:didFinishLaunchingWithOptions:或将-ObjC标志添加到您的链接器选项。