キーボードが表示されているときに同様にピッカービューが表示されるときのスクロール画面

私は画像で示した画面を持っています。今私は、ユーザーがテキストをクリックすると、ピッカービューが表示されます。ですから、ピッカービューが表示されたら、キーボードが表示されたときに同様にビューが自動的にスクロールします。 screen

ピッカービューが表示されたらどうしますか?

前もって感謝します...

1
ピッカービューをスクロールするか、現在の質問がピッカーの上に表示されるようにビューをスクロールしますか?
追加された 著者 Jakob W,

2 答え

私はあなたのアプリが肖像画であることを望んでいると仮定します。横向きであれば変更を加えることができます。あなたのペン先に UIPickerView を追加し、 IBOutlet に接続します。次に、 IBAction メソッドを持つボタンを作成して、 UIPickerView をアニメーション化します。 .hファイルを試してみてください:

@interface MyViewController: UIViewController {
  BOOL                    _pickerIsVisible;
  IBOutlet UIPickerView * _picker;
}

- (IBAction)buttonMethod:(UIButton *)aButton;

あなたの.mファイルの中で:

- (void)viewDidLoad; {
  [super viewDidLoad];
  _pickerIsVisible = NO;
}

- (IBAction)buttonMethod:(UIButton *)aButton; {
  if(_pickerIsVisible){
    _pickerIsVisible = NO;
    [UIView animateWithDuration:2.0f
            animations:^{ 
                CGPoint point = _picker.frame.origin;
                point.y += 216;//The height of the picker.
                _picker.frame.origin = point;
            } 
            completion:^(BOOL finished){
             //Do something here if you want.
            }];
  }
  else{
    _pickerIsVisible = YES;
    [UIView animateWithDuration:2.0f
            animations:^{ 
                CGPoint point = _picker.frame.origin;
                point.y -= 216;//The height of the picker.
                _picker.frame.origin = point;
            } 
            completion:^(BOOL finished){
             //Do something here if you want.
            }];
  }
}

nibの UIPickerView にy座標が480に設定されていることを確認してください。これはビューの下にあります。

Edit: If you want the UIPickerView to be hooked up and act like the keyboard of a UITextField or UITextView, you could always hook it up to the .inputView property of the UITextField, and that would work as well.

それが助けてくれることを願って!

1
追加された

あなたはgitHubでこの素晴らしいプロジェクトを見てください:

https://github.com/reednj/TDSemiModal

接続されたフィールドをビューに移動しながら、キーボードのようにピッカーを表示するクラスを提供します。

1
追加された