我无法弄清楚为什么没有调用popoverControllerDidDismissPopover。
我已经搜索过了,我并没有打电话通过动画来解雇popover,我想我的所有委托信息都是正确的。
下面的代码用于设置segue,以及当用户选择了选择时会发生什么。
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
UIStoryboardPopoverSegue *popoverSegue;
popoverSegue=(UIStoryboardPopoverSegue *)segue;
UIPopoverController *popovercontroller;
popovercontroller = popoverSegue.popoverController;
popovercontroller.contentViewController.title = segue.identifier;
popovercontroller.delegate = self;
_popoverController.delegate = self;
NSLog(@" %@",segue.identifier);
if ([[segue identifier] isEqualToString:@"PISegue"]){
PIViewController *PrimVC;
PrimVC=(PIViewController *)popovercontroller.contentViewController;
}
if ([[segue identifier]isEqualToString:@"LASegue"]) {
LAViewController *LearnVC;
LearnVC=(LAViewController *)popovercontroller.contentViewController;
}
}
-(void) popoverControllerDidDismissPopover:(UIPopoverController *)popoverController{
NSLog(@"Popovercontroller did dismiss method called.");
NSString *temp;
if ([popoverController.contentViewController.title isEqualToString:@"PISegue"]) {
temp = ((PIViewController *)popoverController.contentViewController).selected;
_primaryInterestTextField.text = temp;
NSLog(@"PI: %@",temp);
[_primaryInterestButton setTitle:@"" forState:UIControlStateNormal];
}
if ([popoverController.contentViewController.title isEqualToString:@"LASegue"]) {
temp = ((LAViewController *)popoverController.contentViewController).selected;
_learnAboutTextField.text = temp;
NSLog(@"LA: %@",temp);
[_learnAboutButton setTitle:@"" forState:UIControlStateNormal];
}
}
答案 0 :(得分:0)
您是否有可能未在头文件中包含UIPopoverControllerDelegate
?如果是这样,添加它应该可以解决问题。