【问题标题】:Popover is duplicated over and over when opening/hiding keyboard打开/隐藏键盘时,弹出框会一遍又一遍地重复
【发布时间】:2012-10-20 13:23:26
【问题描述】:

情况:

我有一个带有 UITextfield 的 UIViewcontroller (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 次隐藏和显示键盘后。由于重复,阴影变得更暗。

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

【问题讨论】:

  • 重要的是要提到上面代码的确切位置。

标签: ios uitextfield uipopovercontroller uikeyboard


【解决方案1】:

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

[self dismissFormPopoverAnimated:NO];
self.myPopover = [[UIPopoverController alloc]     
                  initWithContentViewController:self.editViewController];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    • 2011-09-12
    • 2021-05-30
    相关资源
    最近更新 更多