【发布时间】:2013-02-14 04:39:14
【问题描述】:
在我的 iPad 应用中,我正在录制视频(UIImagePickerController 中的 UIPopoverController)。
问题是,当我更改设备的方向时,UIPopoverController 的大小会减小到 320x480(纵向)和 480x320(横向)。令人惊讶的是,完全相同的尺寸 (600x880) 在我创建它时工作正常,但在我旋转它时却不行。
这是我的初始化方式:
self.popover = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
popover.delegate = self;
if ([[UIApplication sharedApplication] statusBarOrientation] == UIDeviceOrientationPortrait || [[UIApplication sharedApplication] statusBarOrientation] == UIDeviceOrientationPortraitUpsideDown) {
[self.popover presentPopoverFromRect:CGRectMake(109, 590, 550,500) inView:self.view permittedArrowDirections:0 animated:YES];//recordProtocolBtn.frame
[self.popover setPopoverContentSize:CGSizeMake(600, 880)];
}
else {
[self.popover presentPopoverFromRect:CGRectMake(750, 110, 550, 600) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionRight animated:YES];
[self.popover setPopoverContentSize:CGSizeMake(600, 600)];
}
旋转到纵向:
[self.popover dismissPopoverAnimated:NO];
[self.popover presentPopoverFromRect:CGRectMake(109, 590, 550,500) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
[self.popover setPopoverContentSize:CGSizeMake(600, 880)];
并在横向旋转:
[self.popover dismissPopoverAnimated:NO];
[self.popover presentPopoverFromRect:CGRectMake(750, 110, 550, 600) inView:self.view permittedArrowDirections:0 animated:YES];
[self.popover setPopoverContentSize:CGSizeMake(600, 600)];
【问题讨论】:
-
@downvoter 如果您的大脑太小而无法理解某些代码,则无需投反对票。
标签: size orientation uiimagepickercontroller uipopovercontroller