我正在使用 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;
我的弹出框看起来像这样。
它也显示在导航栏上。我的代码中做错了什么?任何帮助将不胜感激。
最佳答案
您可以在此处检查一些内容:
self.contentSizeForViewInPopover = CGSizeMake(320, 500);
应该真正位于您的signatureViewController
定义中(例如 viewDidLoad)- 尝试将
UIPopoverArrowDirectionDown
更改为UIPopoverArrowDirectionAny
。考虑到位置和向下箭头的要求,可能没有足够的空间来显示该弹出窗口
关于objective-c - 弹出框大小无法更改并且看起来高度错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13538082/