如何在iPhone中自定义弹出菜单?

时间:2010-03-17 02:04:09

标签: iphone

我正在创建的应用程序需要一个功能,如用户选择一些文本,弹出菜单显示,用户点击“搜索”菜单直接执行搜索。

问题是UIMenuController提供的当前弹出菜单不支持扩展。所以我的想法是订阅“UIMenuControllerDidShowMenuNotification”,获取弹出菜单的框架,并在旁边显示“搜索”按钮。

但在实施过程中,我遇到了一个奇怪的问题,通知似乎永远不会被发送,意味着菜单显示后,我仍然无法得到通知,以下是代码的关键部分。

- (void)viewDidLoad {
    [super viewDidLoad];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(menuDidShow:)
                                                 name:UIMenuControllerWillShowMenuNotification
                                               object:nil];
}

- (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
    [[NSNotificationCenter defaultCenter] removeObserver:self 
                                                    name:UIMenuControllerDidShowMenuNotification
                                                  object:nil];

    self.textView = nil;
    self.searchBar = nil;

}

- (void)menuDidShow:(NSNotification *)notification {
    NSLog(@"menu did show!");
}

代码太简单了,不能弄错,有人可以帮我理解发生了什么吗?或者我错过了什么?

0 个答案:

没有答案