UIPopoverController在iPad中的位置

问题描述:

我在按钮单击时打开了一个弹出窗口。UIPopoverController在iPad中的位置

我想设置该视图的x和y位置。我尝试了很多,但无法正确设置。

这是我的代码:

-(IBAction)product2_click_h2 
{ 
    //build our custom popover view 
    UIViewController* popoverContent2 = [[UIViewController alloc] 
             init]; 

    UIView* popoverView2 = [[UIView alloc]initWithFrame:CGRectMake(100,100,200,200)]; 

    popoverView2.backgroundColor = [UIColor greenColor]; 

    UITextView *prod2_info = [[UITextView alloc]initWithFrame:CGRectMake(5,5,390,290)]; 
    [prod2_info setFont:[UIFont fontWithName:@"Arial" size:15]]; 
    [popoverView2 addSubview:prod2_info]; 
    [prod2_info setEditable:NO]; 
    prod2_info.text = @"\n" 
    "     Higher Mileage Motor Oil :\n " 
    "    --------------------------------------\n\n" 
    " --> MaxLife NextGen Higher Mileage Motor Oil \n\n" 
    "- Special seal conditioners rejuvenate seals\n" 
    " within the engine block to help \n" 
    " prevent oil leaks that lead to sludge and deposits.\n" 
    "- Anti-oxidant additives reduce oil viscosity breakdown\n" 
    " to help prevent engine clogging sludge and deposit formation. \n" 
    "- Detergents chemically bond with and remove existing\n" 
    " sludge and deposits\n" 
    "- Additional friction-reducing additives help reduce abrasion within engine\n" 
    "- Anti-wear agents help prevent engine damage \n" 
    "- Available in the following viscosity grades \n" 
    " - 5W-30  \n " 
    " - 10W-30 \n "; 
    prod2_info.scrollEnabled =YES; 
    popoverContent2.view = popoverView2; 
    popoverContent2.contentSizeForViewInPopover = CGSizeMake(400,300); 

    //create a popover controller 
    self.popovercontroller_2 = [[UIPopoverController alloc] 
           initWithContentViewController:popoverContent2]; 

    //present the popover view non-modal with a 
    //refrence to the button pressed within the current view 
    [self.popovercontroller_2 presentPopoverFromRect:product2.frame 
               inView:self.view 
          permittedArrowDirections:UIPopoverArrowDirectionAny 
              animated:YES]; 

} 

下面是它看起来像现在:

enter image description here

+0

非常感谢编辑 – 2012-08-01 11:22:33

+0

不客气。标题说“大小”,但它听起来像你想控制的位置,对吧? 'product2'究竟是什么,它在视图中的位置? – Anna 2012-08-01 11:32:41

+0

是的right..product 2在按钮名称...在这里我设置了图像按钮和按钮单击,我想打开弹出窗口...但我不能设置位置。所以当我点击图像..波普应该打开附近的图像(按钮) – 2012-08-01 11:41:56

,而不是这样的:

[self.popovercontroller_2 presentPopoverFromRect:product2.frame 
              inView:self.view 
         permittedArrowDirections:UIPopoverArrowDirectionAny 
             animated:YES]; 

只是做出改变这样的:

[self.popovercontroller_2 presentPopoverFromRect:product2.frame 
              inView:**button.bounds** 
         permittedArrowDirections:UIPopoverArrowDirectionAny 
             animated:YES]; 
+0

product2是我的按钮名称..... – 2012-08-03 05:49:24

+0

确定只要将它按钮名称给inView。 :] – Nayan 2012-08-03 05:54:00

+0

** ** button.bounds正显示出我错误 – 2012-08-03 05:54:58