0

我正在使用iPad应用程序。我试图UIPopOverController通过单击按钮来显示。但是当我使用以下代码执行此操作时,它看起来弹出的高度错误。

这是我的代码。

self.contentSizeForViewInPopover = CGSizeMake(320, 500);
SignatureViewController *signatureViewController = [[SignatureViewController alloc]initWithNibName:@"SignatureViewController" bundle:nil];
signatureViewController.delegate = self;
signatureViewController.title = @"Draw Signature";

UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:signatureViewController];

UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navController];

UIBarButtonItem *doneButton = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonPressed:)];
[signatureViewController.navigationItem setRightBarButtonItem:doneButton];

[popover presentPopoverFromRect:signatureImageView.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
self.popOverController = popover;

我的弹出框看起来像这样。

在此处输入图像描述

它也显示在导航栏上。我在代码中做错了什么?任何帮助,将不胜感激。

4

1 回答 1

1

你可以在这里检查几件事:

  • self.contentSizeForViewInPopover = CGSizeMake(320, 500);确实应该在您的signatureViewController定义中(例如 viewDidLoad)
  • 尝试更改UIPopoverArrowDirectionDownUIPopoverArrowDirectionAny. 考虑到位置和向下箭头的要求,可能没有足够的空间来显示该弹出框
于 2012-11-24T04:51:04.207 回答