objective-c – UIPopoverController奇怪的行为

我正在使用UIPopoverController并使用MPMediaPickerController填充它以从iPod库中选择歌曲.我工作得很好.但是,我添加了一个完全不相关的功能(触摸按钮和图像比例到大尺寸),现在UIPopoverController仅在使用新功能后表现异常.

使用按钮缩放功能后,UIPopoverController以奇怪的方式出现.看起来它是从屏幕上的旋转状态动画并落在正确的位置,但预期的行为是它应该只出现在正确的位置.

// code for if the interface is a an iPhone, do not use popup     
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    [self presentModalViewController:picker animated:YES];

//代码,如果不是iPhone使用popover媒体选择器

else {
    UIPopoverController* pop = 
    [[UIPopoverController alloc] initWithContentViewController:picker];
    self.currentPop = pop;

//检查iPad是纵向还是横向,并相应地显示弹出式媒体选择器

    if (vertMode == TRUE) 
    {

//如果是纵向模式

       [pop presentPopoverFromRect:CGRectMake(668.0f, 846.0f, 10.0f, 10.0f) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:NO]; 

//否则,如果处于横向模式

    }

    else if (vertMode == FALSE)

    {

       [pop presentPopoverFromRect:CGRectMake(900.0f, 580.0f, 10.0f, 10.0f) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:NO];


    }

  [pop release];

}

}

最佳答案 好吧,我觉得有点愚蠢地回答我自己的问题,但我希望将来可以帮助其他人.

我不确定为什么,但在我的功能按钮将图像缩放到一个大尺寸,我忘了添加:

 [UIView commitAnimations]; 

我的意图是完成缩放图像的动画运动,我猜测因为我从不提交动画,它仍然处于某种试图制作动画的状态.然后,当我调用我的弹出窗口时,它会发生奇怪的动画.

所以我通过添加上面的一行来解决这个问题!

我觉得把这个拿出来好多了!我希望它可以帮助其他人.

点赞