xcode 当iPad旋转时,UIPopovercontroller不保持在其位置上

am46iovg  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(94)

我在做一个这样的酥饼。

-(void)showPop{
    
    if (self.popoverController2 == nil) {
        
              
        RootViewController *iap = 
        [[RootViewController alloc]initWithNibName:@"RootViewController" bundle:[NSBundle mainBundle]];
        [iap setDelegate:self];
        
        
        UIPopoverController *popover = 
        [[UIPopoverController alloc] initWithContentViewController:iap]; 
        
        popover.delegate = self;
        
        popover.popoverContentSize = CGSizeMake(320, 300);  
        
        self.popoverController2 = popover;
        
        
    }
  
    
    CGRect popoverRect = [self.view convertRect:[shopButton frame] fromView:[shopButton superview]];
   
    
    [self.popoverController2 presentPopoverFromRect:shopButton.bounds inView:shopButton 
                           permittedArrowDirections:UIPopoverArrowDirectionAny 
                                           animated:YES];

    
}

ShopButton是弹出弹出框的按钮。现在的问题是,当我旋转我的设备时,弹出框保持在它绘制的位置,而视图的其余部分根据旋转进行调整。简单地说,当设备随着弹出框的绘制而旋转时(从UIButton弹出),弹出框不会沿着UIButton移动。如果我关闭弹出框并再次从按钮中绘制它,它正确地绘制在按钮上方。问题只出现在与弹出的popover一起旋转时。

hmae6n7t

hmae6n7t1#

你可以在方向改变之前隐藏弹出窗口,然后用新的坐标再次显示。

相关问题