在UIView动画期间触摸问题

时间:2011-12-01 10:16:16

标签: iphone uianimation

当用户触摸自定义下拉列表以从底部显示选择器视图时,我正在制作UIView动画.UIView包含Pickerview ...所以当我改变它的框架向上移动时。我得到我想要的,但是pickerView无法识别触摸!(见下面的截图)

代码就像这样

    CGRect pickerFrame=self.pickerSheet.frame;
    CGRect viewFrame=self.view.frame;

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:SHEET_ANIMATION_DURATION];
//change Frame of View containing UIPickerView

pickerFrame.origin.y=202+animatedDistance;
viewFrame.origin.y-=animatedDistance;//animated distance is value by which view needs to move upward.
[self.pickerSheet setFrame:pickerFrame];
[self.view setFrame:viewFrame];

[UIView commitAnimations]; 

screenshot

2 个答案:

答案 0 :(得分:0)

首先,++ please **,停止使用这个动画声明,并使用新的块动画:

[UIView animateWithDuration:SHEET_ANIMATION_DURATION 
                          delay:0 
                        options:nil 
                     animations:^{
                         pickerFrame.origin.y=202+animatedDistance;
                         viewFrame.origin.y-=animatedDistance;
                     } 
                     completion:^(BOO f){
                         //any actions after animation ended
                     }];

其次,我认为你的问题在其他地方。可能,你执行你的触摸或选择错误。

答案 1 :(得分:0)

请开始使用新的,更好的动画块,但我认为您的代码中缺少某些内容,您需要将代码放在下面:

UIViewAnimationOptionAllowUserInteraction

将此代码放入新动画块的选项中,或找到将其放入旧动画块的方法