В моем приложении для iPad я записываю видео (UIImagePickerController
в UIPopoverController
).Невозможно установить размер 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 вам не нужно проголосовать, если ваш мозг слишком крошечный, чтобы понять какой-то код. – Sufian