3

UITableView固有のインデックスからUIPopoverを提示したいと思います。これが私のコードです:

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からポップオーバーを表示しようとするとうまくいきます...

ありがとう!

4

2 に答える 2

0

これが私がすることです:

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右側にポップオーバーを配置します。これはあなたが望むものではないかもしれません。実際のタッチポイントを見つけるには、ジェスチャレコグナイザーを使用できます。

その見返りに、私の関連する質問に答えてみてください:スクロールビューでオブジェクトを追跡するためのポップオーバーの矢印

于 2010-08-09T21:11:44.153 に答える
0

私がこれに到達したDavidのコードを操作する:(私のポップは「storytPop」と呼ばれます)-私のポップオーバーはツールバーからのものであり、次のテーブルビューを右側に表示したかったのです。

CGRect cellRect = [self.tableView rectForRowAtIndexPath:indexPath]; 
[self.storytPop presentPopoverFromRect:cellRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
于 2011-02-24T09:26:20.493 に答える