Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何更改弹出视图位置iPad-obj C_Objective C_Ipad_Uipopovercontroller_Uipopover - Fatal编程技术网

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

Objective c 如何更改弹出视图位置iPad-obj C,objective-c,ipad,uipopovercontroller,uipopover,Objective C,Ipad,Uipopovercontroller,Uipopover,我这里有点小问题。我已经使一个弹出视图在工具栏按钮点击时激活。但是,视图不在我想要的位置。见截图 第一个屏幕显示我拥有的,第二个屏幕显示我想要的。 顺便说一句:popview是有问题的。不涉及xib或故事板。 一些代码 -(IBAction)addbutton:(UIToolbar *)sender; { //build our custom popover view UIViewController* popoverContent = [[UIViewContro

我这里有点小问题。我已经使一个弹出视图在工具栏按钮点击时激活。但是,视图不在我想要的位置。见截图
第一个屏幕显示我拥有的,第二个屏幕显示我想要的。 顺便说一句: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];
}
多谢各位

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

尝试更改frame
popRect

您的
PopoOverButton
可能不是
self.view
的子视图,因此使用其
frame
相对于该框将导致错误的矩形。对矩形使用
popooverbutton.bounds
,而对
fromView
参数使用
popooverbutton


请注意,
fromView
参数并不确定将在哪个视图中显示弹出框(它将始终位于所有内容的顶部),而是相对于应该解释矩形的视图坐标系。

尝试过,但不起作用。我已经更新了问题是否可以查看OK我尝试了您所说的,但我收到错误消息说“NSInvalidArgumentException”,原因:“-[UIPopoverController presentPopoverFromRect:inView:PermittedRowDirections:animated::无法从没有窗口的视图中显示PopOver。”“好的,解决它:)我只是用fromView参数做错了:)现在一切正常:)谢谢