Objective c 如何在objective c中调用mainViewController中uiview类的方法

Objective c 如何在objective c中调用mainViewController中uiview类的方法,objective-c,uiview,uiviewcontroller,Objective C,Uiview,Uiviewcontroller,我在自定义uiview类中创建了一个方法setupLabels,我正试图使用[self-setupLabels]在mainViewControllerviewDidLoad方法中调用此方法,但我给出了未定义的setupLabels的错误,我如何访问-(void)setupLabels{方法从uiview类进入mainviewController?您遇到了错误,因为您的setUpLabels方法在自定义类中,并且ViewController没有对它的引用。您需要提供在其他类上使用该方法的引用 首先

我在自定义uiview类中创建了一个方法
setupLabels
,我正试图使用
[self-setupLabels]
在mainViewController
viewDidLoad
方法中调用此方法,但我给出了未定义的setupLabels的错误,我如何访问
-(void)setupLabels{
方法从uiview类进入mainviewController?

您遇到了错误,因为您的
setUpLabels
方法在自定义类中,并且
ViewController
没有对它的引用。您需要提供在其他类上使用该方法的引用

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

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

如果您正在使用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];
   }

@Moon请向我们展示添加标签的方式和位置。我的客户视图类名是labels,我在其中创建了一个方法,如下-(void)setupLabels{lbl=[[UILabel alloc]initWithFrame:CGRectMake(20,90,70,50)];lbl.backgroundColor=[UIColor redColor];[self-addSubview:lbl];}之后,我调用viewdidload作为标签*customView=[[labels alloc]init];[customView setupLabels];您是否正在将自定义视图添加到self.view?并且在添加到self.view之前,您需要为自定义视图提供框架您的意思是创建一个框架作为子视图吗?是的,我已经标记了它,您能帮我一点忙吗,因为我还有另一个问题