关于ipad:是否可以通过UITableView索引呈现UIPopover?

Is there any way to present an UIPopover from an UITableView index?

我想从UITableView特定索引中呈现一个UIPopover。
这是我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (indexPath.row == 5) {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    EnginesPopoverController  *enginesPopoverController = [[EnginesPopoverController alloc] initWithNibName:@"EnginesPopoverController" bundle:nil];

    UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:enginesPopoverController];

    self.popoverController = popover;
    popoverController.delegate = self;

    [popover release];
    [enginesPopoverController release];

    CGPoint point = {670, 600};
    CGSize size = {450, 216};

    [popoverController presentPopoverFromRect:CGRectMake(point.x, point.y, size.width, size.height) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];                
}

如果我尝试通过UIButton展示Popover,效果会很好...

谢谢!


操纵大卫的代码,我得出了这样的结论:
(我的弹出窗口称为" storytPop")-我的弹出窗口来自工具栏,我希望将下一个表格视图显示在右侧。

1
2
CGRect cellRect = [self.tableView rectForRowAtIndexPath:indexPath];
[self.storytPop presentPopoverFromRect:cellRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];

这就是我的工作:

1
2
3
4
CGRect cellRect = [self.tableView rectForRowAtIndexPath:indexPath];
CGRect popoverRect = CGRectMake(self.view.bounds.size.width - self.popoverController.popoverContentSize.width,
                                CGRectGetMidY(cellRect),
                                1.0, 1.0);

我使用的x位置将弹出框放置在屏幕的右侧。这可能不是您想要的。要找到实际的触摸点,可以使用手势识别器。

作为回报,请尝试回答我的相关问题:Popover的箭头以在滚动视图中跟踪对象