Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
react-native-picker
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Jira
Jira
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
ym
react-native-picker
Commits
657e6553
Commit
657e6553
authored
Nov 24, 2017
by
zooble
Committed by
GitHub
Nov 24, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #235 from rghorbani/master
add requires main queue setup
parents
43f485ea
6e583074
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
27 deletions
+37
-27
ios/RCTBEEPickerManager/RCTBEEPickerManager.m
ios/RCTBEEPickerManager/RCTBEEPickerManager.m
+37
-27
No files found.
ios/RCTBEEPickerManager/RCTBEEPickerManager.m
View file @
657e6553
...
...
@@ -22,16 +22,26 @@
@synthesize
bridge
=
_bridge
;
-
(
dispatch_queue_t
)
methodQueue
{
return
dispatch_get_main_queue
();
}
+
(
BOOL
)
requiresMainQueueSetup
{
return
YES
;
}
RCT_EXPORT_MODULE
();
RCT_EXPORT_METHOD
(
_init
:
(
NSDictionary
*
)
indic
){
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[[
UIApplication
sharedApplication
].
keyWindow
endEditing
:
YES
];
});
self
.
window
=
[
UIApplication
sharedApplication
].
keyWindow
;
NSString
*
pickerConfirmBtnText
=
indic
[
@"pickerConfirmBtnText"
];
NSString
*
pickerCancelBtnText
=
indic
[
@"pickerCancelBtnText"
];
NSString
*
pickerTitleText
=
indic
[
@"pickerTitleText"
];
...
...
@@ -45,63 +55,63 @@ RCT_EXPORT_METHOD(_init:(NSDictionary *)indic){
NSString
*
pickerToolBarFontSize
=
[
NSString
stringWithFormat
:
@"%@"
,
indic
[
@"pickerToolBarFontSize"
]];
NSString
*
pickerFontSize
=
[
NSString
stringWithFormat
:
@"%@"
,
indic
[
@"pickerFontSize"
]];
NSArray
*
pickerFontColor
=
indic
[
@"pickerFontColor"
];
id
pickerData
=
indic
[
@"pickerData"
];
NSMutableDictionary
*
dataDic
=
[[
NSMutableDictionary
alloc
]
init
];
dataDic
[
@"pickerData"
]
=
pickerData
;
[
self
.
window
.
subviews
enumerateObjectsUsingBlock
:
^
(
__kindof
UIView
*
_Nonnull
obj
,
NSUInteger
idx
,
BOOL
*
_Nonnull
stop
)
{
if
([
obj
isKindOfClass
:[
BzwPicker
class
]])
{
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[
obj
removeFromSuperview
];
});
}
}];
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
pickerToolBarFontSize
:
pickerToolBarFontSize
pickerFontSize
:
pickerFontSize
pickerFontColor
:
pickerFontColor
];
_pick
.
bolock
=^
(
NSDictionary
*
backinfoArry
){
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[
self
.
bridge
.
eventDispatcher
sendAppEventWithName
:
@"pickerEvent"
body
:
backinfoArry
];
});
};
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[
self
.
window
addSubview
:
_pick
];
});
}
RCT_EXPORT_METHOD
(
show
){
if
(
self
.
pick
)
{
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[
UIView
animateWithDuration
:.
3
animations
:
^
{
[
_pick
setFrame
:
CGRectMake
(
0
,
SCREEN_HEIGHT
-
self
.
height
,
SCREEN_WIDTH
,
self
.
height
)];
}];
});
}
return
;
}
RCT_EXPORT_METHOD
(
hide
){
if
(
self
.
pick
)
{
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[
UIView
animateWithDuration
:.
3
animations
:
^
{
...
...
@@ -122,13 +132,13 @@ RCT_EXPORT_METHOD(select: (NSArray*)data){
}
RCT_EXPORT_METHOD
(
isPickerShow
:
(
RCTResponseSenderBlock
)
getBack
){
if
(
self
.
pick
)
{
CGFloat
pickY
=
_pick
.
frame
.
origin
.
y
;
if
(
pickY
==
SCREEN_HEIGHT
)
{
getBack
(@[
@YES
]);
}
else
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment