2013-02-26 117 views
0

我有一个视图,我在界面生成器中设置,我在IB中添加了一个scrollView,现在我试图添加另一个scrollView,它将只是父scrollView的一部分。 旁边的孩子滚动视图我试图使用动态大小的标签,将居住在固定的标签下。将scrollView添加到另一个scrollView不工作

UIScrollView *ingredientsScrollView = [[UIScrollView alloc] 
             initWithFrame:CGRectMake(20, 287, 280, 300)]; 
ingredientsScrollView.scrollEnabled = YES; 
UILabel *ingredientsLabel = [[UILabel alloc] initWithFrame:CGRectMake(230, 310, 70, 21)]; 
ingredientsLabel.text = @"מצרכים"; 

UILabel *baseLabel = [[UILabel alloc] initWithFrame:CGRectMake(230, 325, 70, 21)]; 
baseLabel.text = @"חומרים לבסיס"; 

UILabel *baseIngredientsLabel = [[UILabel alloc] init]; 

    CGSize maximumLabelSize = CGSizeMake(296,9999); 

CGSize expectedLabelSize = [baseIngredientsString sizeWithFont:baseIngredientsLabel.font 
            constrainedToSize:maximumLabelSize 
             lineBreakMode:baseIngredientsLabel.lineBreakMode]; 

//adjust the label the new height. 
CGRect newFrame = baseIngredientsLabel.frame; 
newFrame.size.height = expectedLabelSize.height; 
baseIngredientsLabel.frame = newFrame; 

//i added text to the string in some way 
baseIngredientsLabel.text = baseIngredientsString; 

[ingredientsScrollView addSubview:ingredientsLabel]; 
[ingredientsScrollView addSubview:baseIngredientsLabel]; 

[scrollView addSubview:ingredientsScrollView]; 

当我运行的应用程序的孩子不会被添加滚动视图,也不是标签?

任何帮助将不胜感激。

+0

您是否验证过所有变量都不是零? – Liron 2013-02-26 18:18:36

+0

是的,一切似乎都没问题。 – oridahan 2013-02-26 18:26:11

+0

scrollView的框架是什么? scrollView被添加到视图中了吗? – 2013-02-26 18:26:23

回答

0

孩子滚动视图越来越好,只是你没有注意到它,因为它有一个白色的背景和父滚动视图也有白色背景。此外,您还没有为任何scrollView设置contentSize属性,因此它们不会滚动。您的标签偏离当前视图,并且无法滚动查看它们。

尝试了一下这种事情的来分析你的观点:

self.scrollView.contentSize = CGSizeMake(400,9999); 
ingredientsScrollView.contentSize = CGSizeMake(400,9999); 
self.scrollView.backgroundColor = [UIColor redColor]; 
ingredientsScrollView.backgroundColor = [UIColor blueColor]; 
+0

当我设置ingredientsScrollView的contenSize时,问题就解决了。 – oridahan 2013-02-26 19:03:28

0

有几件事情首先尝试。

尝试将您的ingredientsScrollView直接添加到视图中。如果它没有显示出来,你可能会遇到方法没有被调用的问题。这也将测试以查看您的标签是否被添加到ingrediantsScrollView

另外,关于您的动态大小的UILabel。你为什么不仅仅使用[baseIngredientsLabel sizeToFit]?这比你目前试图用框架做的要简单得多。

+0

sizeToFit确实工作正常。谢谢。 – oridahan 2013-02-26 19:04:06