2012-03-02 11 views
2

私はこれを設定しましたcombo box、それは素晴らしい動作します。今私は下にスクロールする必要があるシーンがあり、私はシーン全体を占めるスクロールビューを実装しました。私はシーンにこれらのコンボボックスの4つを持っており、私はそれらが適切に動作することができません。私のViewController.mでは、 "self.view addSubview"を "self.theScroller addSubView"に変更すると、スクロールバーをクリックして通常のキーボードをスローし、UIPickerViewをロードしないComboBoxをロードできます。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

関連する問題