Ich habe erreicht, den Datepicker innerhalb des Popover zu zeigen, programmatisch zu tun, wie es in UIDatePicker in UIPopover gezeigt wird.Wie kann ich einen UIDatePicker in einem Popover auf dem iPad mit StoryBoard anzeigen?
Aber ich habe versucht, es in Interface Builder zu tun, habe ich bereits einen View-Controller namens DatePickerViewController.m mit einem Datepicker in sie und ihre entsprechenden IBoulet
#import <UIKit/UIKit.h>
@interface DatePickerViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIDatePicker *birthdayDatePicker;
@end
Dann brauche ich Dies wird in einem Popover angezeigt, wenn das Textfeld Geburtstag bearbeitet wird. so verwende ich den folgenden Code
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
//Assign DatePicker to Birthday TextField
//build our custom popover view
DatePickerViewController* popoverContent = [[DatePickerViewController alloc] init];
//resize the popover view shown
//in the current view to the view's size
popoverContent.contentSizeForViewInPopover = CGSizeMake(320, 216);
// dismiss existing popover
if (self.popoverControllerBirthday)
{
[self.popoverControllerBirthday dismissPopoverAnimated:NO];
self.popoverControllerBirthday = nil;
}
//create a popover controller with my DatePickerViewController in it
UIPopoverController *popoverControllerForDate = [[UIPopoverController alloc] initWithContentViewController:popoverContent];
//Set the delegate to self to receive the data of the Datepicker in the popover
popoverControllerForDate.delegate = self;
//Adjust the popover Frame to appear where I want
CGRect myFrame =textField.frame;
myFrame.origin.x = 260;
myFrame.origin.y = 320;
//Present the popover
[popoverControllerForDate presentPopoverFromRect:myFrame
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionDown
animated:YES];
self.popoverControllerBirthday = popoverControllerForDate;
return NO; // tells the textfield not to start its own editing process (ie show the keyboard)
}
Und ich importiere auch die benutzerdefinierten DatePickerViewController in meinem aktuellen Viewcontroller
#import "DatePickerViewController.h"
Aber es zeigt nicht die picker im Innern des popover.
Weiß jemand, was passiert sein könnte?
Bitte überprüfen Sie meine Antwort https://StackOverflow.com/a/7343106/815179 – Narayana