即时更新 UIMenuController

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案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)。

【讨论】:

以上是关于即时更新 UIMenuController的主要内容,如果未能解决你的问题,请参考以下文章

如何即时更新编辑器操作按钮显示?

Google PlayApp Bundle 使用详解 ( 简介 | 应用内更新 | 即时更新 | 灵活更新 )

即时更新 UIMenuController

运费总额和即时更新 API 的 PayPal 错误

无法即时更新 mongodb 文档

无法即时更新 mongodb 文档