From bc4c976fc037af15f4ea3dd460e8650b37c98428 Mon Sep 17 00:00:00 2001 From: xwenliang Date: Fri, 4 Nov 2016 12:00:27 +0800 Subject: [PATCH] fix #85: iOS<9.0 cant set height of picker view --- ios/RCTBEEPickerManager/RCTBEEPickerManager.m | 15 +++++++++++---- package.json | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ios/RCTBEEPickerManager/RCTBEEPickerManager.m b/ios/RCTBEEPickerManager/RCTBEEPickerManager.m index bdd2f62..309a708 100644 --- a/ios/RCTBEEPickerManager/RCTBEEPickerManager.m +++ b/ios/RCTBEEPickerManager/RCTBEEPickerManager.m @@ -13,6 +13,7 @@ @interface RCTBEEPickerManager() @property(nonatomic,strong)BzwPicker *pick; +@property(nonatomic,assign)float height; @end @@ -79,7 +80,13 @@ RCT_EXPORT_METHOD(_init:(NSDictionary *)indic){ }]; - self.pick=[[BzwPicker alloc]initWithFrame:CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, 250) dic:dataDic leftStr:pickerCancelBtnText centerStr:pickerTitleText rightStr:pickerConfirmBtnText topbgColor:pickerToolBarBg bottombgColor:pickerBg leftbtnbgColor:pickerCancelBtnColor rightbtnbgColor:pickerConfirmBtnColor centerbtnColor:pickerTitleColor selectValueArry:selectArry weightArry:weightArry]; + if ([[UIDevice currentDevice].systemVersion doubleValue] >= 9.0 ){ + self.height=250; + }else{ + self.height=220; + } + + self.pick=[[BzwPicker alloc]initWithFrame:CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, self.height) dic:dataDic leftStr:pickerCancelBtnText centerStr:pickerTitleText rightStr:pickerConfirmBtnText topbgColor:pickerToolBarBg bottombgColor:pickerBg leftbtnbgColor:pickerCancelBtnColor rightbtnbgColor:pickerConfirmBtnColor centerbtnColor:pickerTitleColor selectValueArry:selectArry weightArry:weightArry]; _pick.bolock=^(NSDictionary *backinfoArry){ @@ -95,7 +102,7 @@ RCT_EXPORT_METHOD(_init:(NSDictionary *)indic){ [UIView animateWithDuration:.3 animations:^{ - [_pick setFrame:CGRectMake(0, SCREEN_HEIGHT-250, SCREEN_WIDTH, 250)]; + [_pick setFrame:CGRectMake(0, SCREEN_HEIGHT-self.height, SCREEN_WIDTH, self.height)]; }]; @@ -109,7 +116,7 @@ RCT_EXPORT_METHOD(show){ dispatch_async(dispatch_get_main_queue(), ^{ [UIView animateWithDuration:.3 animations:^{ - [_pick setFrame:CGRectMake(0, SCREEN_HEIGHT-250, SCREEN_WIDTH, 250)]; + [_pick setFrame:CGRectMake(0, SCREEN_HEIGHT-self.height, SCREEN_WIDTH, self.height)]; }]; }); @@ -121,7 +128,7 @@ RCT_EXPORT_METHOD(hide){ if (self.pick) { dispatch_async(dispatch_get_main_queue(), ^{ [UIView animateWithDuration:.3 animations:^{ - [_pick setFrame:CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, 250)]; + [_pick setFrame:CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, self.height)]; }]; }); }return; diff --git a/package.json b/package.json index 2875d4f..5942d15 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-picker", - "version": "4.0.8", + "version": "4.0.9", "description": "", "main": "index.js", "scripts": { -- 2.26.2