【问题标题】:The popover arrow direction cannot be determinedpopover箭头方向无法确定
【发布时间】:2012-03-26 22:21:56
【问题描述】:

我正在使用包含一些输入字段的popover。由于 iOS 键盘覆盖了大屏幕区域,有时我需要更正弹出窗口的位置(通过移动其目标并在 popover 上调用 -presentPopoverFromView:targetView)。我假设我无法精确确定弹出窗口的视图矩形,但有了箭头方向和内容大小,我可以近似它的当前位置。

问题是,即使弹出窗口清晰可见,我也经常遇到未知方向 (UIPopoverArrowDirectionUnknown)。

在 iOS 5.1 UIKit.framework 中,头文件UIPopoverController.h 我们可以读到我们可以得到popover arrow 的当前方向(上、下、左、右、未知之一)。唯一的条件是需要提供popover

 /* Returns the direction the arrow is pointing on a presented popover. Before     presentation, this returns UIPopoverArrowDirectionUnknown.
  */
 @property (nonatomic, readonly) UIPopoverArrowDirection popoverArrowDirection;

我们可以确定弹出框是否带有getter isPopoverVisible

 /* Returns whether the popover is visible (presented) or not.
  */
 @property (nonatomic, readonly, getter=isPopoverVisible) BOOL popoverVisible;

但尽管我可以看到弹出箭头向上或向下等以及myPopover.isPopoverVisible == YES,但箭头方向仍然是myPopover.popoverArrowDirection == UIPopoverArrowDirectionUnknown

popover 提供者:

[self presentPopoverFromRect:sourceView.frame inView:sourceView.superview
    permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

编辑(解决方案)

我的设备 (iPad) 上安装了 iOS 5.0.1。编译目标是 5.1。将设备更新到 5.1 后,问题完全消失了。

【问题讨论】:

  • 如果您已经解决了问题,请发布答案并将其标记为已接受,这样问题就不会显示为未回答。
  • @PartiallyFinite,谢谢。学习...

标签: ios ios5 uikit uipopovercontroller


【解决方案1】:

我的设备 (iPad) 上安装了 iOS 5.0.1。编译目标是 5.1。将设备更新到 5.1 后,问题完全消失了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 1970-01-01
    • 2019-10-31
    • 1970-01-01
    • 2011-01-03
    相关资源
    最近更新 更多