objective-c - 弹出框大小无法更改并且看起来高度错误

标签 objective-c ios ipad uipopovercontroller

我正在使用 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;

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

enter image description here

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

最佳答案

您可以在此处检查一些内容:

  • self.contentSizeForViewInPopover = CGSizeMake(320, 500); 应该真正位于您的 signatureViewController 定义中(例如 viewDidLoad)
  • 尝试将 UIPopoverArrowDirectionDown 更改为 UIPopoverArrowDirectionAny。考虑到位置和向下箭头的要求,可能没有足够的空间来显示该弹出窗口

关于objective-c - 弹出框大小无法更改并且看起来高度错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13538082/

相关文章:

objective-c - 如何在 NSTextView 中使用 SPACE 而不是 TAB

ios - 将 View Controller 连接到委托(delegate)类 - CLLocationManager/iOS8

ios - 展开可选 IBOutlet 值时为 Nil

ios - 需要有关滑动解锁的帮助,如动画

iphone - UISlider 问题 - 如何检测用户在 iOS 中释放 slider 按钮?

ios - 如何在 iOS MFMailComposeViewController 中预选邮件帐户?

objective-c - 如何在 Swift 中使用 URL 方案获取发件人的 ID

ios - subview Controller 上的 PanGestureRecognizer

ios - 如何在 'aspect fit' 模式下将 UIImageView 裁剪为新的 UIImage?

iphone - 如何将本地 jpeg 或 png 图像文件加载到 iPhone 应用程序中?