UIStoryboardPopoverSegue在按下工具栏按钮时关闭

时间:2011-11-10 08:46:58

标签: objective-c ios cocoa-touch ipad

首先,我发现了一个类似的问题,但它没有做我想要的完全相同的事情:UIStoryboardPopoverSegue opening multiple windows on button touch

我有一个带有按钮的工具栏,其中显示了一个popOver,所有这些都与故事板相连。

问题在于每次按下按钮时,都会出现一个新的popOver,而不是前一个。

在另一个问题中,他们建议使用以下代码:

- (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];
    }
}

但它的作用是,当你按下按钮时,它会关闭之前的popOver(如果有的话)并继续使用segue来显示一个新的popOver。

我想要做的是按钮充当切换,这意味着如果有一个(没有显示新的),它会解散popOver,如果没有,则显示popOver。

顺便说一句,那就是在没有故事板的情况下,它是如何为我工作的。

1 个答案:

答案 0 :(得分:1)

我认为this answer会回答你的问题。基本上,每次按下按钮以显示或关闭弹出按钮时,都会更改按钮的动作。