我在许多viewcontrollers的uipopover中使用了一个uidatepicker。我需要将每个视图控制器中的选择日期保持不同,以便在uidatepicker再次在各自的VC中启动时将其加载回来。我该如何做到这一点?
如何将数据从uiViewController发送到uipopover,以便将datepicker设置为相应的VC的初始日期。非常感谢。
启动故事板中设计的uipopover的VC代码:
- (IBAction)calendarbutton:(UIButton *)sender {
UIView *anchor = sender;
selectDatePopover *selectDatePopoverinstance =
[self.storyboard instantiateViewControllerWithIdentifier:@"selectDatePopover"];
_popover = [[UIPopoverController alloc]
initWithContentViewController:selectDatePopoverinstance];
[_popover presentPopoverFromRect:anchor.frame
inView:anchor.superview
permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
selectDatePopoverinstance.delegate = self;
_popover.delegate =self;
}
uipopover中的代码:
- (void)viewDidLoad
{
NSLog(@"viewdidload");
NSUserDefaults *datepicks = [NSUserDefaults standardUserDefaults];
NSString *myLastDate = [datepicks objectForKey:@"myLastDate"];
if (myLastDate == nil) {
[self.mydatepicker setDate:[NSDate date] animated:NO];
} else {
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateStyle : NSDateFormatterLongStyle];
[self.mydatepicker setDate:[formatter dateFromString:myLastDate] animated:NO];
}
[super viewDidLoad];
NSLog(@"insideview");
// Do any additional setup after loading the view.
}
答案 0 :(得分:1)
创建UIPopoverController的子类,它具有属性“data”, 然后将您的数据传递给构造函数中的类。 这对你有用吗?
答案 1 :(得分:0)
我能够通过创建属性并在VC中设置它来解决这个问题。 :)我猜,它也可以通过给不同的uipopover实例提供不同的标签来解决。但我仍然需要测试它。 帮助我的一个惊人的教程是: http://www.colejoplin.com/2012/09/12/ios-tutorial-combining-delegation-storyboards-popovers-and-data/
希望能在某处帮助某人:)