2012-03-02 47 views
2

我已經設置了這個combo box,它工作得很好。現在我有一個需要向下滾動的場景,而且我已經實現了一個滾動視圖,它佔據了整個場景。我有4個組合框在場景中,我無法讓它們正常工作。在我的ViewController.m中,如果我將「self.view addSubview」更改爲「self.theScroller addSubView」,我可以將ComboBox加載到滾動條上,單擊時它會拋出普通鍵盤並且不加載UIPickerView。ComboBox在UIScrollView中不起作用

NSMutableArray* fieldTeamsArray = [[NSMutableArray alloc] init]; 
[fieldTeamsArray addObject:@"Field Team 1"]; 
[fieldTeamsArray addObject:@"Field Team 2"]; 
[fieldTeamsArray addObject:@"Field Team 3"]; 

fieldTeams = [[ComboBox alloc] init]; 
[fieldTeams setComboData:fieldTeamsArray];   
[self.view addSubview:fieldTeams.view]; //UIPicker works but not on the Scroll View 
fieldTeams.view.frame = CGRectMake(20, 135, 275, 30);  //ComboBox location 


NSMutableArray* typesArray = [[NSMutableArray alloc] init]; 
[typesArray addObject:@"type 1"]; 
[typesArray addObject:@"type 2"]; 
[typesArray addObject:@"type 3"]; 

types = [[ComboBox alloc] init]; 
[types setComboData:typesArray];   
[self.theScroller addSubview:types.view]; //ComboBox on Scroll View but no UIPicker 
types.view.frame = CGRectMake(20, 187, 275, 30); 

我不知道如何讓「類型」組合框能夠訪問和正確加載UIPicker而在滾輪。

回答

1

這是一個(小)挑戰,但我認爲我找到了解決方案。

進入ComboBox.h並使其符合UITextFieldDelegate。

@interface ComboBox : UIViewController<UIPickerViewDelegate, UIPickerViewDataSource, UITextFieldDelegate> 

然後進入ComboBox.xib並使文件所有者成爲textField的委託屬性。

最後,在ComboBox.m添加委託方法如下:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)aTextField 
{ 
    [self showPicker:aTextField]; 
    return YES; 
} 
+0

哇弗蘭克,就像一個魅力。我不完全理解我在ComboBox.m中使用新方法做了什麼,但它適用於組合框是viewcontroller的直接子視圖和滾動視圖的子視圖。非常感謝。 – BamBamBeano 2012-03-02 19:01:01

相關問題