在UIViewController的UIView中调用一个函数

时间:2009-10-20 00:48:34

标签: iphone uiview uiviewcontroller

我使用界面构建器创建了一个视图控制器和关联的视图。我正在尝试调用我从UIViewController添加到UIView的函数。我不知道如何调用该函数。

我试过

 [self.view myFunction]

但这只会让我的程序崩溃。

3 个答案:

答案 0 :(得分:1)

您是否已宣布您的IB网点并将方法连接到它?

您的视图(更准确地说是nib)的文件所有者应该设置为您的viewController类。

除非您调用绘图函数和方法,否则不应在视图上调用任何内容。你根本不需要。

编辑:语法更正。

答案 1 :(得分:0)

视图如何初始化?它是自定义视图类型吗?如果您的视图是从nib初始化的,请确保视图类型上的类是具有实现方法的类。

答案 2 :(得分:0)

它可能会崩溃,因为UIView没有名为myFunction的方法。为了将myFunction添加到UIView对象,您需要将其子类化。

我假设您已经将UIView子类化了,并将其称为MyView。您也可能已经将UIViewController子类化,并将其命名为MyUIViewController。因此,你可能有:

@interface MyViewController : UIViewController {
    MyView  *myView;
....
}

现在你可以调用[self.myView myFunction];

这是一种方式。另一种方式可能是:

[(MyView *)self.view myFunction];  

这取决于myView是否是层次结构中的第一个视图(或者应该在NIB文件中设置)。