【问题标题】:how to show popover with direction up or down relative to the button's current position如何显示相对于按钮当前位置向上或向下方向的弹出框
【发布时间】:2013-08-20 16:59:54
【问题描述】:

我添加了一个滚动视图作为子视图,高度约为。 500.

scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(x,y,500,300)];
[self.view addSubView:scrollView];

现在我有另一个视图,比如 View1,其中包含许多垂直方向排列的按钮。 View1 的高度约为。我的 scrollView 高度的两倍。

View1 = [[UIView alloc] initWithFrame:CGRectMake(0,0,100,300)];
[scrollView addSubView: View1];

现在我将滚动视图的内容大小设置为适合我的 View1。

[scrollView setContentSize: CGSizeMake(1000,300)];

现在可以完全滚动浏览我的 View1。现在,当我的 View1 中的一个按钮被按下时,我需要显示一个 popUpViewController,其方向取决于按钮的当前位置。例如,如果按钮位于我的 scrollView 框架的一半以下,popOverViewController 应该向上弹出。

现在我如何获取按钮的相对坐标以滚动视图框架,如果该按钮的初始位置低于我的 scrollView 的 frame.height.y/2 并且在滚动按钮后向上移动到我的 scrollView 上方的位置frame.height.y/2,那么你如何获得相对坐标。我试过 convertRect: toView: 但没有成功。

我希望你们能理解我在这里想说的。

【问题讨论】:

    标签: ios uipopovercontroller


    【解决方案1】:

    使用presentPopoverFromRect:inView:permittedArrowDirections:animated: 方法呈现UIPopoverController,锚定到(箭头指向)特定视图。

    要将弹出框锚定到条形按钮,请使用presentPopoverFromBarButtonItem:permittedArrowDirections:animated:

    可以让iOS自动判断箭头方向。

    【讨论】:

    • 正确,但例如滚动前的按钮位于滚动视图的下半部分。现在向上的方向在这里是合适的。滚动相同的按钮后,滚动视图框架的上半部分,现在我想使用向下方向弹出框。我需要获取相对位置,以便确定在弹出框中使用的方向
    • @user1235151,大多数情况下,你可以让iOS自己判断箭头方向。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 2019-06-29
    相关资源
    最近更新 更多