Представление UIDatePicker модально - PullRequest
5 голосов
/ 07 сентября 2010

Эй, у меня есть вид, который имеет кнопку, которая при нажатии должна модально представить UIDatePicker.У меня есть сборщик, который отображается правильно, но, поскольку он сам по себе UIView, он в полный рост и выглядит забавно.Все, что я хочу, это получить действительно быстрый ввод даты от пользователя, больше похожий на UIActionSheet, чем UIView.

. Как я могу заставить UIPicker скользить вверх только на полпути модально и выполнять некоторые действияна панели инструментов, как сделано и т. д.

Спасибо

1 Ответ

4 голосов
/ 07 сентября 2010

Вы можете поместить его в другой UIView, у которого есть прозрачный фон, или, проще говоря, не использовать presentModalViewController, а написать собственную подпрограмму, чтобы отобразить ее в текущем представлении.

 // Untested code:
 // put this in your current UIViewController (the one where you were going to call presentModalViewController:)

 - (void)showPicker:(UIPickerView *) picker{
      CGRect startFrame = picker.frame;
      CGRect endFrame = picker.frame;
      // Set the start position to below the bottom of the visible frame:
      startFrame.origin.y = self.view.frame.size.height;
      // Set the end position to slid up by the height of the view, so it will just fit:
      endFrame.origin.y = startFrame.origin.y - endFrame.size.height;    
      picker.frame = startFrame;

      [self.view addSubView:picker];
      [UIView beginAnimations]
      picker.frame = endFrame;
      [UIView commitAnimations];
 }

Вам, конечно, нужно добавить весь необходимый код, чтобы сохранить указатель на средство выбора и отслеживать, когда показывать и избавляться от него.

...