2013-06-28 37 views
1

我想添加一個textViewtextFieldsubViews到我的scrollViewscrollView顯示很好和綠色,但textViewtextField對象沒有顯示在scrollView內部。Textfields/TextViews不會添加到滾動視圖iOS

這是一次將我的相機設備上可掃描的條形碼

- (void) readerView: (ZBarReaderView*) view 
    didReadSymbols: (ZBarSymbolSet*) syms 
      fromImage: (UIImage*) img 
{ 
    // do something useful with results 
    for(ZBarSymbol *sym in syms) { 
    self.symbolData = (NSString*)sym.data; 
    UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 200, 20, 20)]; 
    UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(30, 240,20,20)]; 
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(10, 200, 300, 80)]; 
    [textField setBackgroundColor:[UIColor redColor]]; 
    [scrollView setBackgroundColor:[UIColor greenColor]]; 
    [textView setBackgroundColor:[UIColor purpleColor]]; 
    textView.text = self.symbolData; 
    [self.view addSubview:scrollView]; 
    [scrollView addSubview:textField]; 
    [scrollView addSubview:textView]; 

    break; 
    } 
} 

,此方法被調用的方法。

我也在這個網站上看到很多類似的問題,我的代碼看起來像我所見過的問題的答案,但我無法弄清楚爲什麼它不工作。

在此先感謝

+0

這是一個問題,您的滾動視圖只有80像素高,但您添加到它的視圖具有200和240的y座標?默認情況下,滾動視圖剪輯到邊界,所以如果它們離開滾動視圖的屏幕,您將永遠不會看到您的子視圖。 – Putz1103

+0

是的,這是問題所在。我知道這是愚蠢的。謝謝! –

回答

0

添加我的評論作爲答案。

您的滾動視圖只有80個單位高。您要添加的子視圖的y座標爲200和240,因此它們不在scrollview的可見高度。默認情況下,滾動視圖被設置爲剪輯到邊界,所以超出邊界的任何內容都將不可見。

0

只需更換你的這三條線

[self.view addSubview:scrollView]; 
[scrollView addSubview:textField]; 
[scrollView addSubview:textView]; 

隨着

[scrollView addSubview:textField]; 
[scrollView addSubview:textView]; 
[self.view addSubview:scrollView]; 

第一子視圖添加到滾動視圖然後添加滾動視圖到 視圖。或全局定義您的scrollView。

相關問題