0

情况:

我有一个UIViewcontroller带有 UITextfield 的 (editViewController)。editViewController 是我的弹出内容视图控制器。弹出窗口显示以下代码:

 CGSize size;
 size.width = 620;
 size.height = 500;
 self.myPopover = [[UIPopoverController alloc]     
                      initWithContentViewController:self.editViewController];

 self.editPopover.popoverContentSize = size;

 [self.editPopover presentPopoverFromRect:self.view.frame 
                                        inView:self.view
                      permittedArrowDirections:0 // or any other direction
                                      animated:YES];
  • Xcode 版本 4.3.2
  • 部署目标 iOS 5.0

当用户点击 UITextField 时,键盘会按应有的方式弹出。但是,当我使用键盘隐藏按钮隐藏/显示键盘并再次点击文本字段时,弹出视图会不断重复。查看弹出阴影以查看实际问题。

http://www.tectoys.nl/popover_duplicating.jpg

  1. 第一次弹出
  2. 经过大约 10 倍的隐藏和显示键盘。由于重复,阴影变得更暗。

有人知道导致此问题的原因或可以给我解决方法吗?

4

1 回答 1

0

如果您提供的代码示例在每次显示弹出框时都在执行,那么这是因为您每次都在创建一个新的 UIPopoverController 并且您创建的旧的 UIPopoverController 没有被关闭。在创建新弹出框之前尝试关闭弹出框:

[self dismissFormPopoverAnimated:NO];
self.myPopover = [[UIPopoverController alloc]     
                  initWithContentViewController:self.editViewController];
于 2012-10-21T03:26:47.343 回答