我使用PresentPopOverFromRect:方法呈现UIPopovercontroller。在纵向方向。当我自动旋转到风景UIPopoverController没有出现在正确的位置。如何在自动旋转设备时定位UIPopoverController。
答案 0 :(得分:0)
您需要覆盖此功能:
- (void)willAnimateRotationToInterfaceOrientation:
(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
您可以根据当前方向更改UIPopovercontroller的尺寸和位置。此功能很方便,因为它是在重新绘制屏幕之前和用户界面开始旋转之前调用的。
您应该查看tutorial以了解如何处理IPad不同方向的布局。
答案 1 :(得分:0)
是的,正如tiguero所说,在您的自定义UIViewController中,您可以覆盖该方法:
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
[self.popOverViewController dismissPopoverAnimated:NO];
CGRect yourNewRect = CGRectMake(0.0, 0.0, 20, 20);
[self.popOverViewController presentPopoverFromRect:yourNewRect inView:yourView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
你可以尝试一下!