Ios4 iPhone SDK:UIMenuController在所选UITableCell上方弹出

Ios4 iPhone SDK:UIMenuController在所选UITableCell上方弹出,ios4,uitableview,ios5,uimenucontroller,Ios4,Uitableview,Ios5,Uimenucontroller,我正在尝试在用户选择的任何单元格上方弹出UIMenuControl 目前我有下面的代码,它总是把UimeNuU控件放在屏幕上的iPhone……/P> - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES]; [self becomeFirstRes

我正在尝试在用户选择的任何单元格上方弹出UIMenuControl

目前我有下面的代码,它总是把UimeNuU控件放在屏幕上的iPhone……/P>

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

[tableView deselectRowAtIndexPath:indexPath animated:YES];

[self becomeFirstResponder];

UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"View" action:@selector(viewListing:)];
UIMenuItem *menuItem1 = [[UIMenuItem alloc] initWithTitle:@"Edit" action:@selector(editListing:)];
UIMenuItem *menuItem2 = [[UIMenuItem alloc] initWithTitle:@"Call" action:@selector(callListing:)];
UIMenuItem *menuItem3 = [[UIMenuItem alloc] initWithTitle:@"Open Houses" action:@selector(openHouses:)];

UIMenuController *menuController = [UIMenuController sharedMenuController];
[menuController setTargetRect:CGRectMake(0, 205, 320, 200) inView:self.view];
menuController.menuItems = [NSArray arrayWithObjects:menuItem, menuItem1, menuItem2, menuItem3, nil];
menuController.arrowDirection = UIMenuControllerArrowDown;
[menuController setMenuVisible:YES animated:YES];
}

任何帮助都将不胜感激。

很明显,您的菜单始终位于中心:您正在硬编码坐标

解决方案
首先要计算单元格的位置。然后从中计算您的
targetect

提示:您可以使用
rectforrowatinexpath:
获取单元格的帧