Uipopover框架在方向上重置而不隐藏或解除?

时间:2013-08-27 06:50:38

标签: iphone ios objective-c uipopovercontroller uipopover

在视频按钮上显示Popover:

[self.popOverController presentPopoverFromRect:[self.view convertRect:buttonFrame toView:self.view.window]
                                                inView:self.view.window
                              permittedArrowDirections:UIPopoverArrowDirectionUp
                                              animated:YES];

videoButton是弹出窗口弹出窗口的按钮。现在的问题是,当我旋转设备时,弹出窗口保持在它绘制的位置,而视图的其余部分根据旋转进行调整。简单来说,当设备随着弹出的弹出窗口(从UIButton弹出)旋转时,弹出窗口不会随UIButton一起移动。如果我关闭弹出框并再次从按钮中绘制它,它会在按钮上方正确绘制。只有弹出弹出窗口旋转时才会出现问题。

在方向上,我想改变框架位置而不是解除它并再次呈现它。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

你可以再次调用当前的popover方法来改变方向。

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

    [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];

    [self.popOverController presentPopoverFromRect:[self.view convertRect:buttonFrame toView:self.view.window] inView:self.view.window permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}