我正在使用包含一些输入字段的popover
。由于iOS键盘覆盖大屏幕区域,有时我需要更正弹出窗口位置(通过移动目标并在-presentPopoverFromView:targetView
上调用popover
)。我假设我不能精确地确定弹出窗口的视图矩形,但是有箭头方向和内容大小,我可以近似它的当前位置。
问题在于,即使弹出窗口清晰可见,我也会不断地知道方向(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后,问题完全消失。
答案 0 :(得分:0)
我的设备(iPad)上安装了iOS 5.0.1。编译目标是5.1。将设备更新为5.1后,问题完全消失。