0

私のアプリには、押すとその上にが表示UIPickerViewされるボタンがありますUIToolbar。ユーザーがtheの値を選択したら、UIPickerViewボタンを押してとの両方UIToolbarを閉じます。UIPickerViewUIToolbar

私が抱えている問題は、にを追加する方法がわからないことUIToolbarですUIPickerView。通常、aの値が。UITextFieldの選択によって影響を受ける設定がありますUIPickerView。このようにUIToolbarして、をとして設定するだけinputAccessoryViewで済みますが、今回はを持っていませんUITextField

UIToolbar誰かが上にを追加する方法についてアドバイスできますUIPickerViewか?

4

2 に答える 2

1

UIPickerViewの親コンテナビューにツールバーを追加する必要があります。したがって、そのビューが何であるかを知っている場合は、それにツールバーを追加できます。コンテナがNavigationViewControllerの場合、ツールバーにツールを追加できます。

親ビューがない場合は、親ビューを作成します(たとえば、新しいビュークラスを追加します)。ツールバーを指定し、同じビューでその下にPickerViewを追加します。

インターフェイスで物事を同期するには、NSNotificationsを使用する方が簡単な場合がよくあります。

ピッカービューで...

NSArray *keys = [NSArray arrayWithObjects:@"myParameterName", nil];
NSArray *objects = [NSArray arrayWithObjects: myObject, nil];
NSDictionary *myDictionaryOfParameters = [NSDictionary dictionaryWithObjects: objects forKeys: keys];

[[NSNotificationCenter defaultCenter] postNotificationName:@"myPickerViewChanged" object:nil userInfo: nil];

次に、ツールバーにオブザーバーを追加します...

[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(refreshView) name:@"myPickerViewChanged" object: nil];

//   ...

- (void) myPickerViewChanged: (NSNotification *) note  {
    NSDictionary * myDictionaryOfParameters = note.userInfo;
// Enable toolbar buttons, etc.
}

お役に立てれば。

于 2012-05-28T12:59:57.563 に答える
1

このための最善の解決策は、を利用することですUIActionSheet

のグローバルを作成し、サブビューとしてUIActionSheetあなたUIToolbarUIPickerviewを追加するだけです。UIActionSheet

最後にUIActionSheet、メインビューのサブビューを追加します。

それがあなたを助けることを願っています。

于 2012-05-28T12:45:40.850 に答える