标签: uipopovercontroller

UIPopoverController,UIActionSheet和模态视图控制器的保留/释放模式?

我对以下实例所需的对象所有权模式有些不清楚.当我的UIViewController将弹出控制器,操作表或其他视图控制器呈现为模态时,我是否需要挂起对该子控制器的保留引用,直到它被解除为止?

换句话说,以下几行代码是否有效地"转移"了所有权?

[aPopoverController presentPopoverFromBarButtonItem:someButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:NO];

[anActionSheet showFromBarButtonItem:someButtonItem animated:NO];

[aViewController presentModalViewController:someOtherViewController animated:YES];
Run Code Online (Sandbox Code Playgroud)

有人能指出我关于这个主题的明确文件吗?

iphone uiviewcontroller uiactionsheet uipopovercontroller

14
推荐指数
1
解决办法
8556
查看次数

没有箭头的UIPopoverController?

我想知道制作一个没有箭头的UIPopoverController其实我想模拟这样的东西: iPad系统偏好设置中的set-passcode屏幕截图

看到了

  • 没有箭头

  • 有一个标题在UIPopoverController的扩展顶部边框内部,而不是像普通的UIPopoverController一样.

我假设这不是一个真正的UIPopoverController对象,但我会欣赏有关如何产生相同效果的建议(使用CoreGraphics? - >特别是3D优秀边框的半透明降级效果)和/或链接到某些来源(如果有人已经完成)这之前.

提前致谢.

伊格纳西奥

编辑:

我仍在寻找这些东西,并意识到即使在第三方应用程序正在使用的例子是:twitterrific for iPad,如图所示.有人请?将标题放在popovercontroller中只是丑陋的. 替代文字

iphone cocoa-touch core-graphics uikit uipopovercontroller

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

Xcode5 iOS7 - UIPopoverController Corner Radius

我正在将应用程序转换到相当流畅的iOS 7,有一点我无法弄清楚.

我有一个带有几个按钮的视图控制器,我用UIPopoverController显示.

在我看来,像弹出控制器正在做一些事情来剪切它的视图控制器的内容被舍入.

iOS6(我想要这个):

在此输入图像描述

iOS7(改变了一些东西):

在此输入图像描述

我正在使用这里描述的自定义popover控制器后台类http://blog.teamtreehouse.com/customizing-the-design-of-uipopovercontroller

这是我的背景类http://pastebin.com/fuNjBqwU的特定版本

有没有人知道要改变什么才能让它回到我的iOS 6外观?

uipopovercontroller ios ios7

14
推荐指数
2
解决办法
7870
查看次数

以uipopover为中心的iPad

我想为iPad创建一个新的键盘.

我设计了一个视图,其中包含键和所有底层工作,当用户按下键时填充文本框,并在用户按下返回按钮时将值传递回调用例程.

一切正常.

现在 - 我想将此视图创建为弹出窗口.

我完成了基本操作(弹出并被解雇)

但现在我需要一些微调帮助.

这是我的问题......

1)如何在没有UIPopoverArrowDirectionAny选择的情况下创建以屏幕为中心的弹出窗口?

2)确保弹出窗口是我在XIB文件中创建它的大小(当前,它调整大小并删除一些最右边的窗口大小)

感谢
托尼

ipad uipopovercontroller

13
推荐指数
1
解决办法
1万
查看次数

UIPopoverController和UIImagePickerControl:"无法从没有窗口的视图中显示弹出窗口"

我想在我的iPad应用程序中显示UIImagePickerControl.起初,调试器告诉我,当我在iPad上进行操作时,我需要将其置于弹出框中.所以我写了下面的代码:

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
popover = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
[popover presentPopoverFromRect:CGRectMake(0.0, 0.0, 400.0, 400.0) 
                         inView:self.view
       permittedArrowDirections:UIPopoverArrowDirectionAny 
                       animated:YES];
Run Code Online (Sandbox Code Playgroud)

但是,现在我收到以下错误: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Popovers cannot be presented from a view which does not have a window.'

关于我应该做什么的任何建议?我知道self.view 应该有一个窗口,但显然......它不是吗?

uiimagepickercontroller ipad uipopovercontroller ios

12
推荐指数
1
解决办法
1万
查看次数

UIPopoverController,如何改变它的大小?

我的Split-View应用程序中有UIPopoverController,我只需要更长时间的弹出窗口.在DetatilViewController的viewDidLoad中我放了:

self.popoverController.popoverContentSize=CGSizeMake(320, 1400);
Run Code Online (Sandbox Code Playgroud)

什么都没发生(什么时候应该放这个?谢谢

做完了^^^如何设置Popover的背景?thaanks

iphone objective-c uipopovercontroller

12
推荐指数
4
解决办法
1万
查看次数

UIPopoverController presentPopoverFromRect问题

我想在单击UIButton时呈现UIPopoverController.这是我的代码:

- (IBAction)showColumnChooser:(id)sender {

    ColumnChooserTVC *vc = [[ColumnChooserTVC alloc] init];

    [vc setSelections:allColumns];
    [vc setDelegate:self];
    UIPopoverController *pc = [[UIPopoverController alloc] initWithContentViewController:vc];


    [pc presentPopoverFromRect:[sender frame] inView:self.view 
      permittedArrowDirections:UIPopoverArrowDirectionAny 
                      animated:YES];
    [vc release];
}
Run Code Online (Sandbox Code Playgroud)

箭头方向为"任意",它完全遮盖了按钮,这是它的样子: 在此输入图像描述

如果我的方向是"正确的",它会好一点,但仍然有一些弹出窗口和按钮之间的空间,它似乎不对. 在此输入图像描述 我不想做一些"技巧"或"黑客"并在试验/错误的基础上使用CGRect,我想知道这样做的正确方法是什么?谢谢.

这是Neckto要求的界面构建器中的按钮: 在此输入图像描述

cocoa-touch objective-c uipopovercontroller ios

12
推荐指数
1
解决办法
2万
查看次数

UIPopoverController委托没有被调用

我分配了popover对象o它的contentViewController,我将dismiss代码放在一个位于内容视图控制器中的按钮中.

按下按钮时:

 [self.popover dismissPopoverAnimated:YES];
Run Code Online (Sandbox Code Playgroud)

被叫,弹出被解雇.但是,不会自动调用委托的方法.我以为我没有设置它的代表,但它就在那里.如果我在dismissPopoverAnimated行之后添加以下行,则正确调用delegate ...

 [self.popover.delegate popoverControllerDidDismissPopover:self.popover];
Run Code Online (Sandbox Code Playgroud)

我不明白为什么它不"自动"调用委托的方法.怎么会发生这种情况?

delegates objective-c uipopovercontroller ios

12
推荐指数
1
解决办法
5444
查看次数

popover iOS8中的setContentViewController方法导致应用程序崩溃

UIPopoverController中的setContentViewController方法似乎导致iOS 8中的应用程序崩溃.只是想知道是否还有其他人在iOS 8中遇到此问题.这在iOS 7中没有任何问题.

异常中指出的错误似乎是误导性的,因为它声明应该在呈现弹出窗口后调用setContentViewController

- (void)buttonPressed {

UIViewController *tableViewController = [UIViewController new];

if(_popover == nil){

    _popover = [[UIPopoverController alloc] initWithContentViewController:tableViewController];

    [_popover presentPopoverFromRect:CGRectMake(self.textField.frame.size.width / 2, self.textField.frame.size.height / 1, 1, 1) inView:self.textField permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
}else{
    [_popover setContentViewController:tableViewController];
}    
Run Code Online (Sandbox Code Playgroud)

}

这是崩溃的堆栈跟踪,

2014-09-11 16:48:39.904 iOS 8 Rotation[3969:67869] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIPopoverController setContentViewController:animated:] can only be called after the popover has been presented.'
*** First throw call stack:
(
    0   CoreFoundation                      0x01c79df6 __exceptionPreprocess + 182
    1   libobjc.A.dylib                     0x01903a97 …
Run Code Online (Sandbox Code Playgroud)

uipopovercontroller ios uipopover xcode6 ios8

12
推荐指数
1
解决办法
5668
查看次数

在UIPopoverController中显示UIImagePickerController与现有的UINavigationController(添加后退按钮)

所以我有一个UIPopoverController房子UINavigationController,我有我的地方UITableViewController但是我的一个选择UITableView是去选择一个图像与UIImagePickerController...现在在iPhone上,我可以简单地使用presentModalViewController:animated:但是从UIPopoverController内调用,导致崩溃,所以这不可能...

我也知道UIImagePickerController它自己的需求UINavigationController所以我不能只推动pushViewController:animated:......

所以我想出如果我保留了UIPopoverController我创建的链接,那么我可以setContentViewController:animated:用来切换到UIImagePickerController的viewController ......

但是,我现在坚持让用户回到之前的方式,UINavigationController因为我需要能够添加一个取消按钮UIImagePickerController但是当我尝试这样做时,取消按钮将不会被添加...

继承我正在使用的代码

-(void)doPhotoalbums {
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {

        UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
        [imagePicker setDelegate:self];
        [imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
        [imagePicker setContentSizeForViewInPopover:CGSizeMake(320, 480)];

        UIBarButtonItem *cancel = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:nil];
        [imagePicker.navigationItem setLeftBarButtonItem:cancel];

        //[self presentModalViewController:imagePicker animated:YES];
        [[self parentPopoverController] setContentViewController:imagePicker animated:YES];

    } else {
        [UIAlertView showMessage:@"This device does not have any photo albums."]; …
Run Code Online (Sandbox Code Playgroud)

objective-c uikit uiimagepickercontroller uipopovercontroller ios

11
推荐指数
1
解决办法
4531
查看次数