标签: uipopovercontroller

如何在iOS 8中正确呈现popover

我正在尝试将UIPopoverView添加到我的Swift iOS 8应用程序,但我无法访问PopoverContentSize属性,因为popover没有显示正确的形状.我的代码:

var popover: UIPopoverController? = nil 

    func addCategory() {

    var newCategory = storyboard.instantiateViewControllerWithIdentifier("NewCategory") as UIViewController
    var nav = UINavigationController(rootViewController: newCategory)
    popover = UIPopoverController(contentViewController: nav)
    popover!.setPopoverContentSize(CGSizeMake(550, 600), animated: true)
    popover!.delegate = self
    popover!.presentPopoverFromBarButtonItem(self.navigationItem.rightBarButtonItem, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true)
}
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述

当我通过UIPopoverPresentationController做同样的事情时,我仍然没有完成它.这是我的代码:

func addCategory() {

    var popoverContent = self.storyboard.instantiateViewControllerWithIdentifier("NewCategory") as UIViewController
    var nav = UINavigationController(rootViewController: popoverContent)
    nav.modalPresentationStyle = UIModalPresentationStyle.Popover
    var popover = nav.popoverPresentationController as UIPopoverPresentationController
    popover.delegate = self
    popover.popoverContentSize = CGSizeMake(1000, 300)
    popover.sourceView = self.view
    popover.sourceRect = CGRectMake(100,100,0,0)

    self.presentViewController(nav, animated: true, …
Run Code Online (Sandbox Code Playgroud)

uipopovercontroller ios uipopover swift ios8

115
推荐指数
6
解决办法
17万
查看次数

UIPopovercontroller dealloc到达,而popover仍然可见

我向你保证,我确实在我的问题中寻找答案,但没有一个是有帮助的.在这里,我得到了一个简单的代码,它应该UIImagePickerController在一个UIPopoverController:

-(void)takePicture:(id)sender{
UIImagePickerController *picker=[[UIImagePickerController alloc] init];
picker.delegate=self;
picker.sourceType=UIImagePickerControllerSourceTypeCamera;
picker.allowsEditing=YES;
UIPopoverController *poc=[[UIPopoverController alloc] 
                            initWithContentViewController:picker];
[poc presentPopoverFromBarButtonItem:bbItem 
            permittedArrowDirections:UIPopoverArrowDirectionAny
                            animated:NO];
}
Run Code Online (Sandbox Code Playgroud)

现在,即使从我第一次[UIPopoveController dealloc]到达时...错误和程序崩溃.根据ARC,我没有做任何保留,重新发布或自动释放.UIPopoverControllers当受益于ARC时,有什么特别的考虑吗?

memory-management uipopovercontroller ios automatic-ref-counting

111
推荐指数
3
解决办法
3万
查看次数

支持的方向与应用程序没有共同的方向,shouldAutorotate返回YES'

我的应用程序(iPad; iOS 6)是一个仅限风景的应用程序,但是当我尝试使用UIPopoverController来显示照片库时,它会抛出此错误: Supported orientations has no common orientation with the application, and shouldAutorotate is returning YES.我尝试更改了很多代码,但我没有运气.

landscape ipad uipopovercontroller ios6

91
推荐指数
6
解决办法
6万
查看次数

带嵌入式导航控制器的Popover不支持背面导航的尺寸

我有一个托管UINavigationController的UIPopoverController,它包含一个小的视图控制器层次结构.

我按照文档和每个视图控制器,我设置了视图的popover-context大小,如下所示:

[self setContentSizeForViewInPopover:CGSizeMake(320, 500)];
Run Code Online (Sandbox Code Playgroud)

(每个控制器的大小不同)

当我在层次结构中向前导航时,这可以正常工作 - 弹出窗口自动动画大小更改以对应于推送的控制器.

但是,当我通过导航栏的"后退"按钮通过视图堆栈"返回"时,弹出窗口不会改变大小 - 它仍然与最深的视图一样大.这似乎对我不利; 我希望popover能够尊重弹出视图堆栈时设置的大小.

我错过了什么吗?

谢谢.

uiviewcontroller uinavigationcontroller uipopovercontroller ios

88
推荐指数
5
解决办法
4万
查看次数

iOS 8 iPhone上的UIPopoverPresentationController

有谁知道是否UIPopoverPresentationController可以用来在iPhone上展示弹出窗口?想知道Apple是否在iOS 8上添加了此功能,试图为iPad和iPhone创建更统一的演示控制器.

不确定是否可以提出/回答Beta的问题.在那种情况下我会删除它.

iphone objective-c uipopovercontroller uipopover ios8

74
推荐指数
3
解决办法
6万
查看次数

如何解雇故事板Popover

UIBarButtonItem使用Xcode Storyboards 创建了一个popover (所以没有代码),如下所示:

带有Popover的Xcode 5.0 Connections Inspector

提出popover工作得很好.但是,当我点击它使它出现时,我无法让popover 消失UIBarButtonItem.

按下按钮(第一次)时会出现弹出窗口.当再次按下该按钮(第二次)时,它上面会出现相同的弹出窗口,所以现在我有两个弹出窗口(如果我继续按下按钮,则会有更多弹出窗口).根据iOS人机界面指南,我需要在第一次点击时显示弹出窗口并在第二次点击时消失:

确保一次只能在屏幕上看到一个弹出窗口.您不应同时显示多个弹出窗口(或设计为外观和行为的自定义视图).特别是,您应该避免同时显示级联或层次结构的弹出窗口,其中一个弹出窗口从另一个弹出窗口出现.

当用户UIBarButtonItem再次点击时,如何解除popover ?

objective-c uibarbuttonitem uipopovercontroller ios uistoryboard

73
推荐指数
2
解决办法
5万
查看次数

UIPopoverController在pushViewController上自动调整大小到最大高度

我有一个包含UINavigationController的popover.我可以很好地显示popover,它包含navController就好了.navController包含一个tableView,当我选择一个项目时,它会创建一个新的详细信息视图:

     DeviceDetailViewController *detailViewController = 
[[[DeviceDetailViewController alloc] initWithNibName:@"DeviceDetailViewController" bundle:nil] autorelease];
Run Code Online (Sandbox Code Playgroud)

然后我把它推到新的视图控制器:

    [self.navigationController pushViewController:detailViewController animated:YES];
Run Code Online (Sandbox Code Playgroud)

这是出现问题时: 之后的酥料饼调整大小以在iPad上可用的最大高度推新视图.

我已经尝试将xib中所有视图的高度设置为固定高度而不是灵活.我试过明确设置弹出窗口的高度.我也尝试使用不同的视图控制器作为子视图.问题仍然是:在酥料饼将自己调整到最大高度时会自动新视图推送到导航控制器.

这是一个问题,讨论在推送新视图时试图故意控制弹出窗口的大小:

我认为这可能是一种控制大小的强力方法.然而,奇怪的是,它实际上会导致一些快速的图形怪癖(好像视图正在进行动画处理),然后继续调整大小,如上所述.

换句话说,某些东西确实迫使popover达到其最大高度,并且似乎在调用所有委托方法之后发生.

是导航控制器吗?有没有人见过这种事?

uinavigationcontroller uipopovercontroller

68
推荐指数
7
解决办法
5万
查看次数

无法从没有窗口的视图中呈现弹出窗口

这个错误表明了什么:

"Popovers cannot be presented from a view which does not have a window."

ipad uipopovercontroller

53
推荐指数
2
解决办法
3万
查看次数

没有任何箭头的UIPopover

是否有可能提出一个没有任何箭头指向某个地方的弹出窗口?

uikit ipad uipopovercontroller

52
推荐指数
8
解决办法
3万
查看次数

如何修复"UIPopoverController已弃用"警告?

我正在使用此代码:

mediaLibraryPopover = [[UIPopoverController alloc] 
                        initWithContentViewController:avc];
[self.mediaLibraryPopover presentPopoverFromRect:[theButton bounds] 
                          inView:theButton 
                          permittedArrowDirections:UIPopoverArrowDirectionAny 
                          animated:YES];
Run Code Online (Sandbox Code Playgroud)

我在Xcode 7中收到此警告:

不推荐使用UIPopoverController,在iOS 9.0中首先弃用 - 不推荐使用UIPopoverController.弹出窗口现在实现为UIViewController演示.使用UIModalPresentationPopover和UIPopoverPresentationController的模态表示样式.

objective-c deprecated uipopovercontroller ios

49
推荐指数
2
解决办法
4万
查看次数