0

私はここでほとんど問題を抱えていません。ツールバーのボタンのクリックでアクティブ化されるポップアウト ビューを作成しました。しかし、ビューは私が望む位置にありません。スクリーンショットを参照してください
。最初の画面は私が持っているものを示し、2番目の画面は私が欲しいものを示しています。ところで:popviewは問題があります。xib やストーリーボードは含まれません。
ここに画像の説明を入力

いくつかのコード

 -(IBAction)addbutton:(UIToolbar *)sender;
{
        //build our custom popover view
    UIViewController* popoverContent = [[UIViewController alloc]
                                        init];
    UIView* popoverView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 0, 0)];
    popoverView.backgroundColor = [UIColor blackColor];

    /*
     * Adding buttons programaticly to popout view
     * button code etc 
     */ 
    popoverContent.contentSizeForViewInPopover = CGSizeMake(400, 300);

    //create a popover controller
    self.popoverController = [[[UIPopoverController alloc]
                               initWithContentViewController:popoverContent] autorelease];


    [popoverController presentPopoverFromRect:popoverButton.frame
                                            inView:self.view
                          permittedArrowDirections:UIPopoverArrowDirectionLeft
                                          animated:YES];


    //release the popover content
    [popoverView release];
    [popoverContent release];
}

ありがとうございました

4

2 に答える 2

2

あなたのpopoverButtonはおそらく のサブビューではないself.viewため、そのframe相対を使用すると、正しくない長方形になります。代わりpopoverButton.boundsに、四角形とパラメータに使用しpopoverButtonてください。fromView

このfromViewパラメーターは、ポップオーバーが表示されるビュー (常にすべての上に表示される) を決定するのではなく長方形が解釈されるビューの座標系に関連することに注意してください。

于 2013-03-28T18:50:26.470 に答える
0
[popoverController presentPopoverFromRect:popRect inView:self.view  permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

フレームを変更してみてくださいpopRect

于 2013-03-28T18:23:19.633 に答える