position of UIPopoverController in iPad

那年仲夏 提交于 2019-12-10 12:17:46

问题


I have opened a pop up window on button click.

I want to set x and y position of that view. I have tried a lot but can't set it properly.

This is my code:

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

}

Here's what it looks like right now:


回答1:


instead of this:

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

just make change like this:

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


来源:https://stackoverflow.com/questions/11757690/position-of-uipopovercontroller-in-ipad

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!