0

我在许多视图控制器的 uipopover 中使用 uidatepicker。我需要在每个视图控制器中保持不同的选择日期,以便在它们各自的 VC 中再次启动 uidatepicker 时将它们加载回来。我该如何做到这一点?

如何将数据从 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.
}
4

2 回答 2

1

创建具有属性“数据”的 UIPopoverController 的子类,然后将数据传递给构造函数中的类。这对你有用吗?

于 2013-07-16T04:54:15.037 回答
0

我能够通过创建一个属性并在 VC 中设置它来解决这个问题。:) 我猜,它也可以通过给不同的 uipopover 实例赋予不同的标签来解决。但我还是要测试一下。一个帮助我的惊人教程是:http: //www.colejoplin.com/2012/09/12/ios-tutorial-combining-delegation-storyboards-popovers-and-data/

希望对某个地方的人有所帮助:)

于 2013-07-19T00:05:40.553 回答