UIPopOverController出现在错误的位置

时间:2014-01-26 13:25:46

标签: ios objective-c ipad uibutton uipopovercontroller

所以我有这个UIButton,点击它会触发一个UIPopOverController。

UIButton位于工具栏中的条形按钮项目中,y的值为960。 iPad视图。

我的问题是,此按钮显示屏幕顶部的PopOver,而同一工具栏上的另一个按钮正确显示PopOver(向上)。

我尝试强制方向和更改工具栏上的按钮位置,但它不起作用。我尝试了工具栏的框架值,但只从中间带来。这是按钮操作的代码。

[self.popOverController setContentViewController:self.legendViewController];

[_popOverController presentPopoverFromRect:self.btnLegend.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES ];

我知道可能有一些功能性方法可以做到这一点。我开始认为这个特定的UIButton被诅咒了。

1 个答案:

答案 0 :(得分:0)

您应该尝试使用条形按钮演示方法。

使用presentPopoverFromRect:inView:时,提供的框架通常是您的按钮(就像您拥有的那样),但视图将是按钮超级视图(不是根视图)。这是因为框架需要在提供的视图的坐标空间中使用