【发布时间】:2011-12-07 05:07:57
【问题描述】:
我正在使用UIStoryboardPopoverSegue 为 iOS 5 iPad 应用程序呈现弹出框。 Segue 效果很好,但似乎包含按钮的工具栏是弹出框控制器的直通视图,因此如果您继续按下按钮,则会出现更多弹出框。由于我自己没有创建和跟踪UIPopoverController(正如故事板所做的那样),当再次触摸按钮时我无法关闭它。有没有其他人遇到过这个?我向 Apple 提出了一个错误,但他们没有回应。
编辑:我已经使用下面的答案解决了这个问题。这是我最终使用的代码。 currentPopover 是我的视图控制器类中的 __weak ivar,所以当控制器完成后,它会自动降为零。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue isKindOfClass:[UIStoryboardPopoverSegue class]]){
// Dismiss current popover, set new popover
[currentPopover dismissPopoverAnimated:YES];
currentPopover = [(UIStoryboardPopoverSegue *)segue popoverController];
}
}
【问题讨论】:
-
感谢您的编辑,一个优雅的问题解决方案!