如果我有几个按钮启动相同的弹出式窗口,如何在显示新的弹出框之前解除已经可见的弹出窗口?
我有一个局部变量self.popover,设置为当前的popovercontroller;我检查这个popover变量,看它是否可见;如果它是可见的然后我解雇它然后呈现新的,但新的不会变得可见,直到我触摸它两次。
答案 0 :(得分:2)
尝试使用[myPopover dismissPopoverAnimated:NO]解除现有的popover
答案 1 :(得分:1)
发生这种情况的原因是,默认情况下,只要在弹出窗口外发生触摸,您的弹出窗口就会自动消失;触摸事件本身永远不会传播到按钮,因为它“属于”UIPopoverController。一旦发生这种情况,您必须再次触摸该按钮才能重新弹出。
最好的解决方法是保留一个指向UIPopoverController的指针,并将你希望解除/弹出弹出窗口的按钮的NSArray发送到控制器。
然后在每个处理程序的处理程序中,检查是否存在弹出窗口。如果是这样,请将其关闭,然后弹出按钮的弹出窗口。