Як прокручувати екран, коли вигляд вибору відображається аналогічно, коли з'являється клавіатура?

У мене є екран, який я показав на зображенні. Тепер я хочу, щоб, коли користувач натискає на текстовий файл, то з'являється вигляд вибору. Так що я хочу, щоб, коли вигляд вибору з'явиться, то вигляд буде прокручуватися автоматично аналогічно, коли з'явиться клавіатура. екран

Як це станеться, коли з'явиться вікно вибору?

Спасибі заздалегідь...

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.
            }];
  }
}

Переконайтеся, що ви встановили 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
додано