如何更改弹出视图位置iPad - obj C.

时间:2013-03-28 18:13:02

标签: objective-c ipad uipopovercontroller uipopover

我在这里遇到的问题很少。我已经在工具栏按钮上激活了弹出视图。然而,观点不在我想要的位置。见截图
第一个屏幕显示我拥有的和第二个我想要的东西。 顺便说一句:popview有问题。没有涉及的xib或故事板。
enter image description here

一些代码

 -(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];
}

谢谢

2 个答案:

答案 0 :(得分:2)

您的popoverButton可能不是self.view的子视图,因此使用其相对于frame的子视图会导致矩形不正确。使用popoverButton.bounds代替矩形,popoverButton代替fromView参数。

请注意,fromView参数确定将在哪个视图中显示弹出窗口(它始终位于所有内容之上),而是 relative 视图的坐标系应该解释矩形。

答案 1 :(得分:0)

[popoverController presentPopoverFromRect:popRect inView:self.view  permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

尝试更改框架popRect