0

我放弃了,需要一些帮助。

我正在尝试使用故事板在 xcode4 中实现一个简单的选择器弹出框

我创建了一个故事板并添加了一个选择器视图。我已将一个按钮链接到视图,并显示带有选择器的视图。选择器弹出框出现,我可以选择我想要的值。当我关闭弹出窗口时,我没有收到任何事件。以前在调用视图中调用了方法“popoverControllerDidDismissPopover”。从这里我可以执行任何 post popover 操作并检索我根据选择器选择计算的任何特定结果。这一切都是以前的工作。

使用情节提要时,“popoverControllerDidDismissPopover”的等价物是什么

谢谢

4

2 回答 2

4

让“拥有”弹出框/segue 的视图控制器使用该方法实现UIPopoverControllerDelegate协议。popoverControllerDidDismissPopover此外,请确保您的 segue 在 Interface Builder 中分配了一个标识符。然后,实现prepareForSegue方法:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender  
{
  if ([segue.identifier isEqualToString:@"MyPopoverSegueIdentifier"]) {
    UIStoryboardPopoverSegue* popSegue = (UIStoryboardPopoverSegue*)segue;
    popSegue.popoverController.delegate = self;
    // also set any properties of the popover view controller itself:
    // popSegue.destinationViewController.someProperty = xyz
  }
}

现在您popoverControllerDidDismissPopover将按预期收到消息。

于 2011-11-07T03:49:17.727 回答
0

因为我是 MonoTouch 用户,所以我不知道 xcode 等效项,但我知道当您以编程方式关闭弹出框时不会触发 DidDismiss 事件(请参阅Apple 文档)。仅当用户选择另一个元素关闭弹出框时才调用它。

为了在 MonoTouch 中解决这个问题,我们必须继承 UIPopoverController,添加我们自己的事件,覆盖 Dismiss 方法,并在 override 方法中触发新事件。这样,无论弹出框是通过编程方式还是由用户关闭,都会被调用。

于 2011-11-05T23:13:19.050 回答