启动时如何将数据从 uiviewcontroller 发送到 uipopover?

Posted

技术标签:

【中文标题】启动时如何将数据从 uiviewcontroller 发送到 uipopover?【英文标题】:how to send data from uiviewcontroller to uipopover when it is being launched? 【发布时间】:2013-07-16 02:07:31 【问题描述】:

我在许多视图控制器的 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.

【问题讨论】:

【参考方案1】:

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

【讨论】:

我很高兴这可以帮助你!【参考方案2】:

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

希望对某处的人有所帮助:)

【讨论】:

以上是关于启动时如何将数据从 uiviewcontroller 发送到 uipopover?的主要内容,如果未能解决你的问题,请参考以下文章

如何使 Kafka 接收器连接器在接收器启动时将数据从主题插入到表中

如何修复表视图单元格在启动时不显示?

从启动器图标启动应用程序时如何获取通知数据

当我在故事板中将顶部约束设置为 0 时,如何避免 20 边距?

如何将数据从活动传递到正在运行的服务

使用 UIDocumentPickerViewController 时没有回调