0

我在这里有一点问题。我已经在工具栏按钮单击时激活了一个弹出视图。但是视图不在我想要的位置。请参阅屏幕截图
第一个屏幕显示我拥有的和第二个我想要的。顺便说一句: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 回答