Вы можете поместить его в другой 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];
}
Вам, конечно, нужно добавить весь необходимый код, чтобы сохранить указатель на средство выбора и отслеживать, когда показывать и избавляться от него.