启动时如何将数据从 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 接收器连接器在接收器启动时将数据从主题插入到表中