Open boboxiaodd opened 1 year ago
Picker.hide() 方法提前执行了hidden,导致动画无效, onPickerCancel 提前执行了 hidden ,也会导致动画无效并且闪烁
Picker.hide()
onPickerCancel
https://github.com/beefe/react-native-picker/blob/6fa89e921c93279e8c0ef6dc871bd13aeddad158/ios/RCTBEEPickerManager/RCTBEEPickerManager.m#L123
改动如下:
RCT_EXPORT_METHOD(hide){ if (self.pick) { dispatch_async(dispatch_get_main_queue(), ^{ [UIView animateWithDuration:.3 animations:^{ [self.pick setFrame:CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, self.height)]; } completion:^(BOOL finished) { [self.pick removeFromSuperview]; self.pick = nil; }]; }); } // self.pick.hidden=YES; return; }
建议注释掉下面的2块代码,让点击取消,确定,和hide一样的效果 https://github.com/beefe/react-native-picker/blob/6fa89e921c93279e8c0ef6dc871bd13aeddad158/ios/RCTBEEPickerManager/BzwPicker.m#L603
/* dispatch_async(dispatch_get_main_queue(), ^{ [UIView animateWithDuration:.2f animations:^{ [self setFrame:CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, 250)]; }]; }); self.pick.hidden=YES; */
https://github.com/beefe/react-native-picker/blob/6fa89e921c93279e8c0ef6dc871bd13aeddad158/ios/RCTBEEPickerManager/BzwPicker.m#L643
/* dispatch_async(dispatch_get_main_queue(), ^{ [UIView animateWithDuration:.2f animations:^{ [self setFrame:CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, 250)]; }]; }); */
RCT_EXPORT_METHOD(_init:(NSDictionary *)indic){ // ... _pick.bolock=^(NSDictionary *backinfoArry){ dispatch_async(dispatch_get_main_queue(), ^{ if(![[backinfoArry valueForKey:@"type"] isEqualToString:@"select"]){ [weakSelf hide]; //调用hide方法实现一样的动画效果 } [weakSelf sendEventWithName:@"pickerEvent" body:backinfoArry]; }); };
Picker.hide()
方法提前执行了hidden,导致动画无效,onPickerCancel
提前执行了 hidden ,也会导致动画无效并且闪烁https://github.com/beefe/react-native-picker/blob/6fa89e921c93279e8c0ef6dc871bd13aeddad158/ios/RCTBEEPickerManager/RCTBEEPickerManager.m#L123
改动如下:
建议注释掉下面的2块代码,让点击取消,确定,和hide一样的效果 https://github.com/beefe/react-native-picker/blob/6fa89e921c93279e8c0ef6dc871bd13aeddad158/ios/RCTBEEPickerManager/BzwPicker.m#L603
https://github.com/beefe/react-native-picker/blob/6fa89e921c93279e8c0ef6dc871bd13aeddad158/ios/RCTBEEPickerManager/BzwPicker.m#L643