我有一个通过UIPopoverController显示UIImagePicker的iPad应用程序。我想让popovercontroller全屏显示(或者至少尽可能大)。
我正在使用带有新CGRect的presentPopoverFromRect方法,我已将其设置为不同的宽度和高度,但没有结果。imagepicker的来源是UIImagePickerControllerSourceTypePhotoLibrary。
UIPopoverController* popoverController = [[UIPopoverController alloc] initWithContentViewController:photoPicker];
popoverController.delegate = self;
popoverController presentPopoverFromRect:CGRectMake(0, 0, 2500, 2500) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];我能让它全屏显示吗?源类型UIImagePickerControllerSourceTypeCamera怎么样?
发布于 2011-10-11 16:54:48
要设置popover大小,您可以覆盖放置在popovercontroller中的viewcontroller中的-contentSizeForViewInPopover。
presentPopoverFromRect是用来定义打开弹出式窗口的框架,而不是设置它的大小。
发布于 2013-03-15 13:14:15
我刚刚验证了这段代码可以在iPad 1和iPad 4上运行(这意味着iOS 5.1.1 -6.1.2支持它)
popover = [[UIPopoverController alloc] initWithContentViewController:yourVC];
[popover setPopoverContentSize:CGSizeMake(1024, 1024)];
[popover presentPopoverFromRect:CGRectZero
inView:appDelegate.splitViewController.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];你应该注意到,很难忽略弹出窗口,因为它会在肖像或风景中“填满屏幕”。我的appDelegate.splitViewController中确实有这些方法:
- (BOOL)shouldAutomaticallyForwardRotationMethods {
NSLog(@"MG - shouldAutomaticallyForwardRotationMethods");
return YES;
}
- (BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers {
NSLog(@"MG - automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers");
return YES;
}只需取消隐藏/隐藏yourVC角落中的一个按钮,即可使用以下命令清除该按钮:
[popover dismissPopoverAnimated:YES];还需要注意的是,"popover“是一个很强的属性,否则当它试图呈现时,你会得到一条被释放的消息。
发布于 2011-10-11 17:00:34
你可能也想要一个ModalViewController?这个有4种不同的演示风格(其中一种是全屏的)
一个很好的例子是在这个问题中编写的原型:presentModalViewController fullscreenmode issue (它在//-EDIT-//中)
看看这是不是给你的东西。
https://stackoverflow.com/questions/7723452
复制相似问题