2013-02-26 76 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