如何在目标c中调用mainViewController中的uiview类方法

时间:2017-04-27 06:35:37

标签: objective-c uiview uiviewcontroller

我在自定义uiview类中创建了一个方法setupLabels,我尝试使用viewDidLoad在mainViewController [self setupLabels]方法中调用此方法但是我给出了undefined setupLabels的错误,怎么能我从uiview类访问-(void)setUpLabels{方法到mainviewController?

1 个答案:

答案 0 :(得分:1)

您收到错误是因为您的setUpLabels方法位于自定义类中,ViewController没有引用它。您需要为其他类提供使用方法的参考。

首先,您需要创建自定义UIView类的对象。 将您的方法-(void)setUpLabels放在自定义视图类的.h文件中。在自定义类的.m中实现它。

现在,在视图控制器的viewDidLoad中,根据自定义类的类型,您必须创建该视图的对象:

如果您使用的是xib:

   MyCustomView *customView = [[[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:nil options:nil] firstObject];
   [customView  setUpLabels];

如果不使用Xib

   MyCustomView *customView =  [[MyCustomView alloc] init];
   [customView  setUpLabels];

最后使用viewDidLoad方法:

  - (void)viewDidLoad
   {
        MyCustomView *customView =  [[MyCustomView alloc] init];
        customView.frame = CGRectMake(100,10,200,100);
        [customView  setUpLabels];
        [self.view addSubview:customView];
   }