Iphone 从另一个类为superview创建子视图无效

Iphone 从另一个类为superview创建子视图无效,iphone,ios,uiviewcontroller,uiscrollview,parent-child,Iphone,Ios,Uiviewcontroller,Uiscrollview,Parent Child,嗨,我是iOS的新手 我有两个班,一个是父班,另一个是子班。我在父类中有一个方法将创建UIScrollView。我试图通过创建父类的对象从子类调用父类方法。当我从子类调用时,会调用该方法,但如果我使用self调用父类中的同一方法,它不会创建UIScrollView,它会创建UIScrollView 我不知道我在哪里制造问题。请引导我 //父类中的scrollview创建方法// -(void)creatingScroll { UIScrollView * propertyScrl = [[U

嗨,我是iOS的新手

我有两个班,一个是父班,另一个是子班。我在父类中有一个方法将创建UIScrollView。我试图通过创建父类的对象从子类调用父类方法。当我从子类调用时,会调用该方法,但如果我使用self调用父类中的同一方法,它不会创建UIScrollView,它会创建UIScrollView

我不知道我在哪里制造问题。请引导我

//父类中的scrollview创建方法//

  -(void)creatingScroll
{
UIScrollView * propertyScrl = [[UIScrollView alloc]initWithFrame:CGRectMake(10, 200, 320, 160)];
propertyScrl.scrollEnabled = YES;
propertyScrl.showsHorizontalScrollIndicator = YES;
propertyScrl.contentSize = CGSizeMake(600, 60);
propertyScrl.backgroundColor = [UIColor redColor];
[self.view addSubview:propertyScrl];

}
//从子类调用上述方法//

    ParentViewController *vc = [[ParentViewController alloc]init];

    [vc creatingScroll];

您正在创建另一个
ParentViewController
对象,并在该对象上调用
creatingScroll
方法,该对象不是推送到您的viewController上的视图

您可以使用协议和委托调用父类方法

请参阅


希望能有帮助。快乐编码:)

u正在创建另一个
ParentViewController
对象,并在该对象上调用
creatingScroll
方法,该对象不是推送到viewController上的视图

您可以使用协议和委托调用父类方法

请参阅


希望能有帮助。快乐编码:)

既然你已经在你的
子类中继承了
超类
的所有方法,那么你只需要在子类中调用
[self creatingScroll]

既然你已经在
子类中继承了
超类
的所有方法,然后,您只需在子类中调用
[self creating scroll]

谢谢您的回复,我会尝试。谢谢您的回复,我会尝试。谢谢您的回复。但子类已经从另一个超类继承。谢谢您的回复。但子类已经从另一个超类继承。
  -(UIScrollView *)creatingScroll
{
UIScrollView * propertyScrl = [[UIScrollView alloc]initWithFrame:CGRectMake(10, 200, 320, 160)];
propertyScrl.scrollEnabled = YES;
propertyScrl.showsHorizontalScrollIndicator = YES;
propertyScrl.contentSize = CGSizeMake(600, 60);
propertyScrl.backgroundColor = [UIColor redColor];
 //[self.view addSubview:propertyScrl];  // don't add here

return propertyScrl;

}

//calling above method from child class or any class//
probably in viewDidLoad of child class 

 ParentViewController * vc = [[ParentViewController alloc]init];

  UIScrollView * scrollView = (UIScrollVIew * ) [vc creatingScroll];

    [self.view addSubView:scrollView];