在UIView动画触摸问题
问题描述:
我是动画UIView时,用户触摸自定义下拉菜单显示选择器视图从底部side.UIView包含Pickerview ...所以当我改变它的框架向上移动。我得到我想要的,但pickerView不承认联系!(见下面的截图)在UIView动画触摸问题
代码是这样的
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];
答
首先,请++ **,停止使用该动画声明,贝丁使用新的,块动画:
[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
}];
其次,我认为你的问题在别的地方。可以通过,你实现你的触摸或选择错误。
答
请开始使用新的,更好的动画块,但我觉得有东西在你的代码丢失,你需要把下面的代码:将这个代码选项
UIViewAnimationOptionAllowUserInteraction
在新的动画块,或者找到一种方法将它放在旧的动画块中
但是,您是如何创建UIPickerView的?粘贴它的代码。 –
@SurjitJoshi通过IB ...我在self.view中添加它运行时[self.view addSubview:self.pickerSheet]; \t [self.pickerSheet setFrame:CGRectMake(0,460,320,258)]; – iAmitWagh