Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
View 容器视图popover视图以编程方式_View_Popover_Uicontainerview - Fatal编程技术网

View 容器视图popover视图以编程方式

View 容器视图popover视图以编程方式,view,popover,uicontainerview,View,Popover,Uicontainerview,在iPad视图中,我添加了容器视图,添加Xcode后,会自动创建新视图,并使用embed segue连接到我的主视图。现在,在代码中,我试图以编程方式调用这个新视图,但无法做到这一点,我需要用popover显示这个表单 我尝试: PaymentCashController *newPopup = [self.storyboard instantiateViewControllerWithIdentifier:@"PaymentCash"]; [self presentViewControll

在iPad视图中,我添加了容器视图,添加Xcode后,会自动创建新视图,并使用embed segue连接到我的主视图。现在,在代码中,我试图以编程方式调用这个新视图,但无法做到这一点,我需要用popover显示这个表单

我尝试:

PaymentCashController *newPopup = [self.storyboard   instantiateViewControllerWithIdentifier:@"PaymentCash"];
[self presentViewController:newPopup animated:YES completion:nil];
这项工作,但显示在全屏新的看法,但我需要显示与流行音乐。我尝试了很多事情,但都不管用

我试试这个:

[self performSegueWithIdentifier:@"PaymentCash" sender:nil];
    PaymentCashController *newPopup = [self.storyboard instantiateViewControllerWithIdentifier:@"PaymentCash"];

    UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:newPopup];

    popoverController.popoverContentSize = CGSizeMake(500, 400);

    CGRect popoverStartFrame = {50, 500, 100, 100};//Set the frame that you would like your popover to present from.
    [popoverController presentPopoverFromRect: popoverStartFrame inView:self.view  permittedArrowDirections: UIPopoverArrowDirectionLeft | UIPopoverArrowDirectionUp animated:YES];
但收到异常信号

我试试这个:

[self performSegueWithIdentifier:@"PaymentCash" sender:nil];
    PaymentCashController *newPopup = [self.storyboard instantiateViewControllerWithIdentifier:@"PaymentCash"];

    UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:newPopup];

    popoverController.popoverContentSize = CGSizeMake(500, 400);

    CGRect popoverStartFrame = {50, 500, 100, 100};//Set the frame that you would like your popover to present from.
    [popoverController presentPopoverFromRect: popoverStartFrame inView:self.view  permittedArrowDirections: UIPopoverArrowDirectionLeft | UIPopoverArrowDirectionUp animated:YES];
接收异常信号

试试这个:

    PaymentCashController *newPopup = [PaymentCashController new];

    UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:newPopup];

    popoverController = [[UIPopoverController alloc] initWithContentViewController:newPopup];

    [popoverController presentPopoverFromRect:CGRectMake(44, 6, 111, 111) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

同样的SIGABRT

您需要使用视图控制器创建UIPopoverController,并显示popover,如下所示

PaymentCashController *newPopup = [self.storyboard   instantiateViewControllerWithIdentifier:@"PaymentCash"];

UIPopoverController *popoverController = [[UIPopoverController alloc] newPopup];
popover.delegate = self;
//set custom size you want for popover
popover.popoverContentSize = CGSizeMake(500, 400); 
CGRect popoverStartFrame = {50, 500, 100, 100};//Set the frame that you would like your popover to present from.
[popover presentPopoverFromRect: popoverStartFrame inView:self.view permittedArrowDirections: UIPopoverArrowDirectionLeft | UIPopoverArrowDirectionUp animated:YES];

许多实验现在都在进行中:

  • 在情节提要中删除我的popover视图的所有片段。以自由形式进行并更改大小
  • 添加到我的主视图新属性

    @属性(非原子,强)UIPopoverController*popOver

  • 将我的popover视图的情节提要id设置为“PaymentCash”

  • 在“我的视图”上显示我的popover视图的任何操作中,添加以下代码:

    PaymentCashController *PopoverView = [self.storyboard instantiateViewControllerWithIdentifier:@"PaymentCash"];
    self.popOver =[[UIPopoverController alloc] initWithContentViewController:PopoverView];
    CGRect popoverStartFrame = {1,500,200,1};
    [self.popOver presentPopoverFromRect:popoverStartFrame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
    

  • 在此之后,只有一个问题,popover视图显示在不正确的位置,但这是另一个问题。

    我对此有错误-UIPopoverController*popoverController=[[UIPopoverController alloc]newPopup];No visible@interface UIPopoverController声明选择器newPopup您需要在使用上述代码的类中包含PaymentCashController类的头文件。此外,您需要确保newPopup已正确初始化且不是零。如果未初始化,可能是您传递的标识符“PaymentCash”与故事板中为PaymentCashController设置的不同。不,我包括PaymentCashController和steel,但您的示例中的popover是什么?我没有该变量。UIPopopOvercontroller是UIKit框架中定义的类,用于创建和显示所需的popover