【问题标题】:Updating UIMenuController on the fly即时更新 UIMenuController
【发布时间】:2011-01-04 21:11:24
【问题描述】:

我的应用程序能够弹出一个菜单。当按下“全选”按钮时,我想启用“删除”按钮。但是我无法让这个工作。

这里有一个sample project 说明了这个问题。运行它,然后点击菜单按钮,按全选。删除按钮应立即出现,但仅在您隐藏菜单然后再次显示时才会出现。我该如何解决这个问题?

【问题讨论】:

    标签: iphone uimenucontroller


    【解决方案1】:

    以下方法可以解决问题:

    - (void)didHide:(NSNotification *)notif {
        UIMenuController *mc = [UIMenuController sharedMenuController];
        dispatch_async(dispatch_get_global_queue(0,0), ^{
            dispatch_async(dispatch_get_main_queue(), ^{
                [mc update];
                [mc setMenuVisible:YES animated:YES];
            });
        });
    }
    

    但我注意到它的工作方式不是很可靠,例如将animated 设置为NO 时,菜单不会即时更新。

    【讨论】:

    • 我试过这样做。我无法更新菜单。请帮忙
    • 我对 UIMenuController 有类似的问题。再次点击其中一个菜单选项后,我想要一些菜单项。所以我使用上面的代码。它在 iOS6 中工作正常,但在 iOS7 中无论我设置的 targetFrame到 UIMenuController 没有反映,它以不正确的箭头方向呈现在视图上的某个位置。
    【解决方案2】:

    这已在 iOS 5 中得到解决 (rdar://problem/8819322)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-23
      • 1970-01-01
      • 2013-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多