【问题标题】:Popover View Arrow Moves When Keyboard Appears键盘出现时弹出视图箭头移动
【发布时间】:2012-07-25 15:09:00
【问题描述】:

我有一个带有搜索栏和搜索栏委托的弹出视图。当弹出视图出现时,它会将箭头指向我按下的按钮以按预期将其拉起。当搜索字段被选中并且我的视图被向上推时,箭头一直移动到弹出框的底部,而不是指向它应该锚定到的按钮。如果键盘被关闭,箭头会滑回它应该在弹出框中间的位置。

我可以关闭此弹出框并在正确的位置使用箭头手动调用另一个弹出框,但我觉得这是一个糟糕的解决方案。

按下按钮时是这样呈现的

[over presentPopoverFromRect:self.addCategoryButton.bounds inView:self.addCategoryButton permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];

【问题讨论】:

  • 也许它被锚定到视图中的位置,而不是按钮?
  • 它的行为似乎确实如此,但它是从按钮的边界呈现的。显示键盘后如何将其调整到新的边界?我已经尝试再次展示它,但箭头在同一个地方(在底部)。
  • 您能否将您的“移动”视图作为参数传递到 inView: 中,也许这会按照您想要的方式附加它。
  • 我尝试传递按钮视图,它的超级,以及它的超级超级。我还尝试从任意矩形呈现它并获得相同的不需要的运动。感谢您的建议,如果您有其他建议,我一定会尝试。在这一点上,我正在考虑在弹出窗口上根本没有指示箭头。再次感谢。
  • @Psiticosis ,您是否在显示键盘时将视图向上推,或者您的意思是我的视图被推高是什么意思。如果你将 UIPopoverArrowDirectionLeft 更改为 UIPopoverArrowDirectionAny

标签: ios objective-c xcode ipad uipopovercontroller


【解决方案1】:

假设按钮是 self.view 的子视图。 我的猜测是弹出框应该像这样呈现:

[over presentPopoverFromRect:self.addCategoryButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];

【讨论】:

  • view.bounds relative to viewview.frame relative to view.superview 相同,因此此更改将无效。
猜你喜欢
  • 2010-12-19
  • 2018-05-21
  • 2016-05-07
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多