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
f1cfac16
Commit
f1cfac16
authored
Sep 21, 2016
by
xwenliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update data structure
parent
3c8fc35e
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
504 additions
and
417 deletions
+504
-417
android/src/main/java/com/beefe/picker/PickerViewModule.java
android/src/main/java/com/beefe/picker/PickerViewModule.java
+22
-42
android/src/main/java/com/beefe/picker/view/PickerViewAlone.java
.../src/main/java/com/beefe/picker/view/PickerViewAlone.java
+13
-3
android/src/main/java/com/beefe/picker/view/PickerViewLinkage.java
...rc/main/java/com/beefe/picker/view/PickerViewLinkage.java
+248
-221
ios/RCTBEEPickerManager.xcodeproj/project.xcworkspace/xcuserdata/mfhj-dz-001-417.xcuserdatad/UserInterfaceState.xcuserstate
...fhj-dz-001-417.xcuserdatad/UserInterfaceState.xcuserstate
+0
-0
ios/RCTBEEPickerManager/BzwPicker.h
ios/RCTBEEPickerManager/BzwPicker.h
+16
-5
ios/RCTBEEPickerManager/BzwPicker.m
ios/RCTBEEPickerManager/BzwPicker.m
+205
-146
No files found.
android/src/main/java/com/beefe/picker/PickerViewModule.java
View file @
f1cfac16
...
...
@@ -95,7 +95,6 @@ public class PickerViewModule extends ReactContextBaseJavaModule {
Activity
activity
=
getCurrentActivity
();
if
(
activity
!=
null
&&
options
.
hasKey
(
PICKER_DATA
))
{
view
=
activity
.
getLayoutInflater
().
inflate
(
R
.
layout
.
popup_picker_view
,
null
);
pickerParent
=
(
RelativeLayout
)
view
.
findViewById
(
R
.
id
.
pickerParent
);
barLayout
=
(
RelativeLayout
)
view
.
findViewById
(
R
.
id
.
barLayout
);
cancelTV
=
(
TextView
)
view
.
findViewById
(
R
.
id
.
cancel
);
...
...
@@ -218,15 +217,6 @@ public class PickerViewModule extends ReactContextBaseJavaModule {
}
}
switch
(
options
.
getType
(
PICKER_DATA
).
name
())
{
case
"Map"
:
pickerViewLinkage
.
setVisibility
(
View
.
VISIBLE
);
pickerViewAlone
.
setVisibility
(
View
.
GONE
);
ReadableMap
linkageData
=
options
.
getMap
(
PICKER_DATA
);
if
(
linkageData
!=
null
)
{
pickerViewLinkage
.
setLinkageData
(
linkageData
,
curSelectedList
);
}
pickerViewLinkage
.
setIsLoop
(
isLoop
);
if
(
options
.
hasKey
(
PICKER_BG_COLOR
))
{
ReadableArray
array
=
options
.
getArray
(
PICKER_BG_COLOR
);
for
(
int
i
=
0
;
i
<
array
.
size
();
i
++)
{
...
...
@@ -236,8 +226,18 @@ public class PickerViewModule extends ReactContextBaseJavaModule {
pickerColor
[
i
]
=
array
.
getInt
(
i
);
}
}
pickerViewLinkage
.
setBackgroundColor
(
Color
.
argb
(
pickerColor
[
3
],
pickerColor
[
0
],
pickerColor
[
1
],
pickerColor
[
2
]));
}
ReadableArray
pickerData
=
options
.
getArray
(
PICKER_DATA
);
String
name
=
pickerData
.
getType
(
0
).
name
();
switch
(
name
)
{
case
"Map"
:
pickerViewLinkage
.
setVisibility
(
View
.
VISIBLE
);
pickerViewAlone
.
setVisibility
(
View
.
GONE
);
pickerViewLinkage
.
setPickerData
(
pickerData
,
curSelectedList
);
pickerViewLinkage
.
setIsLoop
(
isLoop
);
pickerViewLinkage
.
setBackgroundColor
(
Color
.
argb
(
pickerColor
[
3
],
pickerColor
[
0
],
pickerColor
[
1
],
pickerColor
[
2
]));
pickerViewLinkage
.
setOnSelectListener
(
new
OnSelectedListener
()
{
@Override
public
void
onSelected
(
ArrayList
<
String
>
selectedList
)
{
...
...
@@ -247,33 +247,13 @@ public class PickerViewModule extends ReactContextBaseJavaModule {
});
pickerViewLinkage
.
setSelectValue
(
selectValue
,
curSelectedList
);
break
;
case
"Array"
:
default
:
pickerViewAlone
.
setVisibility
(
View
.
VISIBLE
);
pickerViewLinkage
.
setVisibility
(
View
.
GONE
);
ReadableArray
aloneData
=
options
.
getArray
(
PICKER_DATA
);
if
(
aloneData
!=
null
)
{
switch
(
aloneData
.
getType
(
0
).
name
())
{
case
"Array"
:
pickerViewAlone
.
setPickerViewDta
(
aloneData
,
curSelectedList
);
break
;
default
:
pickerViewAlone
.
setAloneData
(
aloneData
,
curSelectedList
);
break
;
}
}
pickerViewAlone
.
setPickerData
(
pickerData
,
curSelectedList
);
pickerViewAlone
.
setIsLoop
(
isLoop
);
if
(
options
.
hasKey
(
PICKER_BG_COLOR
))
{
ReadableArray
array
=
options
.
getArray
(
PICKER_BG_COLOR
);
for
(
int
i
=
0
;
i
<
array
.
size
();
i
++)
{
if
(
i
==
3
)
{
pickerColor
[
i
]
=
(
int
)
(
array
.
getDouble
(
i
)
*
255
);
}
else
{
pickerColor
[
i
]
=
array
.
getInt
(
i
);
}
}
pickerViewAlone
.
setBackgroundColor
(
Color
.
argb
(
pickerColor
[
3
],
pickerColor
[
0
],
pickerColor
[
1
],
pickerColor
[
2
]));
}
pickerViewAlone
.
setOnSelectedListener
(
new
OnSelectedListener
()
{
@Override
...
...
@@ -284,10 +264,10 @@ public class PickerViewModule extends ReactContextBaseJavaModule {
});
pickerViewAlone
.
setSelectValue
(
selectValue
,
curSelectedList
);
break
;
}
if
(
popupWindow
==
null
)
{
popupWindow
=
new
PopupWindow
(
WindowManager
.
LayoutParams
.
MATCH_PARENT
,
WindowManager
.
LayoutParams
.
MATCH_PARENT
);
popupWindow
.
setBackgroundDrawable
(
new
ColorDrawable
());
...
...
android/src/main/java/com/beefe/picker/view/PickerViewAlone.java
View file @
f1cfac16
...
...
@@ -43,7 +43,18 @@ public class PickerViewAlone extends LinearLayout {
this
.
onSelectedListener
=
listener
;
}
public
void
setAloneData
(
ReadableArray
array
,
final
ArrayList
<
String
>
curSelectedList
)
{
public
void
setPickerData
(
ReadableArray
array
,
final
ArrayList
<
String
>
curSelectedList
){
switch
(
array
.
getType
(
0
).
name
()){
case
"Array"
:
setMultipleData
(
array
,
curSelectedList
);
break
;
default
:
setAloneData
(
array
,
curSelectedList
);
break
;
}
}
private
void
setAloneData
(
ReadableArray
array
,
final
ArrayList
<
String
>
curSelectedList
)
{
ArrayList
<
String
>
values
=
arrayToList
(
array
);
final
LoopView
loopView
=
new
LoopView
(
getContext
());
LayoutParams
params
=
new
LayoutParams
(
...
...
@@ -69,8 +80,7 @@ public class PickerViewAlone extends LinearLayout {
pickerViewAloneLayout
.
addView
(
loopView
);
}
public
void
setPickerViewDta
(
ReadableArray
array
,
final
ArrayList
<
String
>
curSelectedList
)
{
private
void
setMultipleData
(
ReadableArray
array
,
final
ArrayList
<
String
>
curSelectedList
)
{
final
String
[]
selectedItems
=
new
String
[
array
.
size
()];
for
(
int
i
=
0
;
i
<
array
.
size
();
i
++)
{
switch
(
array
.
getType
(
i
).
name
())
{
...
...
android/src/main/java/com/beefe/picker/view/PickerViewLinkage.java
View file @
f1cfac16
...
...
@@ -73,10 +73,7 @@ public class PickerViewLinkage extends LinearLayout {
private
ArrayList
<
String
>
twoList
=
new
ArrayList
<>();
private
ArrayList
<
String
>
threeList
=
new
ArrayList
<>();
private
ReadableArray
array
;
private
ReadableMap
map
;
private
ReadableMap
childMap
;
private
ArrayList
<
ReadableMap
>
data
=
new
ArrayList
<>();
private
int
selectOneIndex
;
private
int
selectTwoIndex
;
...
...
@@ -87,12 +84,20 @@ public class PickerViewLinkage extends LinearLayout {
}
}
public
void
setLinkageData
(
final
ReadableMap
map
,
final
ArrayList
<
String
>
curSelectedList
)
{
this
.
map
=
map
;
/**
* ReadableArray getMap will remove the item.
* <a href="https://github.com/facebook/react-native/issues/8557"></a>
* */
public
void
setPickerData
(
ReadableArray
array
,
final
ArrayList
<
String
>
curSelectedList
)
{
oneList
.
clear
();
for
(
int
i
=
0
;
i
<
array
.
size
();
i
++)
{
ReadableMap
map
=
array
.
getMap
(
i
);
data
.
add
(
map
);
ReadableMapKeySetIterator
iterator
=
map
.
keySetIterator
();
while
(
iterator
.
hasNextKey
())
{
String
key
=
iterator
.
nextKey
();
oneList
.
add
(
key
);
if
(
iterator
.
hasNextKey
())
{
String
oneValue
=
iterator
.
nextKey
();
oneList
.
add
(
oneValue
);
}
}
checkItems
(
loopViewOne
,
oneList
);
if
(
curSelectedList
.
size
()
>
0
)
{
...
...
@@ -100,17 +105,14 @@ public class PickerViewLinkage extends LinearLayout {
}
else
{
curSelectedList
.
add
(
0
,
oneList
.
get
(
0
));
}
String
name
=
map
.
getType
(
oneList
.
get
(
0
)).
name
();
switch
(
name
)
{
case
"Map"
:
ReadableArray
childArray
=
data
.
get
(
0
).
getArray
(
oneList
.
get
(
0
));
String
name
=
childArray
.
getType
(
0
).
name
();
if
(
name
.
equals
(
"Map"
))
{
setRow
(
3
);
childMap
=
map
.
getMap
(
oneList
.
get
(
0
));
ReadableMapKeySetIterator
childIterator
=
childMap
.
keySetIterator
();
twoList
.
clear
();
while
(
childIterator
.
hasNextKey
())
{
String
key
=
childIterator
.
nextKey
();
twoList
.
add
(
key
);
}
getTwoListData
();
checkItems
(
loopViewTwo
,
twoList
);
if
(
curSelectedList
.
size
()
>
1
)
{
curSelectedList
.
set
(
1
,
twoList
.
get
(
0
));
...
...
@@ -118,9 +120,11 @@ public class PickerViewLinkage extends LinearLayout {
curSelectedList
.
add
(
1
,
twoList
.
get
(
0
));
}
array
=
childMap
.
getArray
(
twoList
.
get
(
0
));
ReadableMap
childMap
=
data
.
get
(
0
).
getArray
(
oneList
.
get
(
0
)).
getMap
(
0
);
String
key
=
childMap
.
keySetIterator
().
nextKey
();
ReadableArray
sunArray
=
childMap
.
getArray
(
key
);
threeList
.
clear
();
threeList
=
arrayToList
(
a
rray
);
threeList
=
arrayToList
(
sunA
rray
);
checkItems
(
loopViewThree
,
threeList
);
if
(
curSelectedList
.
size
()
>
2
)
{
curSelectedList
.
set
(
2
,
threeList
.
get
(
0
));
...
...
@@ -133,20 +137,25 @@ public class PickerViewLinkage extends LinearLayout {
public
void
onItemSelected
(
String
item
,
int
index
)
{
selectOneIndex
=
index
;
curSelectedList
.
set
(
0
,
item
);
childMap
=
map
.
getMap
(
item
);
ReadableMapKeySetIterator
childIterator
=
childMap
.
keySetIterator
();
twoList
.
clear
();
while
(
childIterator
.
hasNextKey
())
{
String
key
=
childIterator
.
nextKey
();
twoList
.
add
(
key
);
ReadableArray
arr
=
data
.
get
(
index
).
getArray
(
item
);
for
(
int
i
=
0
;
i
<
arr
.
size
();
i
++)
{
ReadableMap
map
=
arr
.
getMap
(
i
);
ReadableMapKeySetIterator
ite
=
map
.
keySetIterator
();
if
(
ite
.
hasNextKey
())
{
twoList
.
add
(
ite
.
nextKey
());
}
}
checkItems
(
loopViewTwo
,
twoList
);
curSelectedList
.
set
(
1
,
twoList
.
get
(
0
));
array
=
childMap
.
getArray
(
twoList
.
get
(
0
));
ReadableArray
ar
=
data
.
get
(
index
).
getArray
(
item
);
ReadableMap
childMap
=
ar
.
getMap
(
0
);
String
key
=
childMap
.
keySetIterator
().
nextKey
();
ReadableArray
sunArray
=
childMap
.
getArray
(
key
);
threeList
.
clear
();
threeList
=
arrayToList
(
a
rray
);
threeList
=
arrayToList
(
sunA
rray
);
checkItems
(
loopViewThree
,
threeList
);
curSelectedList
.
set
(
2
,
threeList
.
get
(
0
));
...
...
@@ -160,9 +169,13 @@ public class PickerViewLinkage extends LinearLayout {
@Override
public
void
onItemSelected
(
String
item
,
int
index
)
{
selectTwoIndex
=
index
;
array
=
childMap
.
getArray
(
item
);
ReadableArray
arr
=
data
.
get
(
selectOneIndex
).
getArray
(
oneList
.
get
(
selectOneIndex
));
ReadableMap
childMap
=
arr
.
getMap
(
index
);
String
key
=
childMap
.
keySetIterator
().
nextKey
();
ReadableArray
sunArray
=
childMap
.
getArray
(
key
);
threeList
.
clear
();
threeList
=
arrayToList
(
a
rray
);
threeList
=
arrayToList
(
sunA
rray
);
checkItems
(
loopViewThree
,
threeList
);
curSelectedList
.
set
(
0
,
oneList
.
get
(
selectOneIndex
));
...
...
@@ -185,15 +198,15 @@ public class PickerViewLinkage extends LinearLayout {
}
}
});
break
;
case
"Array"
:
}
else
{
setRow
(
2
);
loopViewOne
.
setListener
(
new
OnItemSelectedListener
()
{
@Override
public
void
onItemSelected
(
String
item
,
int
index
)
{
selectOneIndex
=
index
;
array
=
map
.
getArray
(
item
);
twoList
=
arrayToList
(
array
);
ReadableArray
arr
=
data
.
get
(
index
).
getArray
(
item
);
twoList
.
clear
();
twoList
=
arrayToList
(
arr
);
checkItems
(
loopViewTwo
,
twoList
);
curSelectedList
.
set
(
0
,
item
);
curSelectedList
.
set
(
1
,
twoList
.
get
(
0
));
...
...
@@ -203,10 +216,14 @@ public class PickerViewLinkage extends LinearLayout {
}
});
array
=
map
.
getArray
(
oneList
.
get
(
0
)
);
twoList
=
arrayToList
(
a
rray
);
twoList
.
clear
(
);
twoList
=
arrayToList
(
childA
rray
);
checkItems
(
loopViewTwo
,
twoList
);
if
(
curSelectedList
.
size
()
>
1
)
{
curSelectedList
.
set
(
1
,
twoList
.
get
(
0
));
}
else
{
curSelectedList
.
add
(
1
,
twoList
.
get
(
0
));
}
loopViewTwo
.
setListener
(
new
OnItemSelectedListener
()
{
@Override
public
void
onItemSelected
(
String
item
,
int
index
)
{
...
...
@@ -217,9 +234,6 @@ public class PickerViewLinkage extends LinearLayout {
}
}
});
break
;
default
:
break
;
}
}
...
...
@@ -258,39 +272,26 @@ public class PickerViewLinkage extends LinearLayout {
}
else
{
switch
(
selectValue
.
length
)
{
case
1
:
if
(
loopViewOne
.
hasItem
(
selectValue
[
0
]))
{
selectOneIndex
=
loopViewOne
.
getItemPosition
(
selectValue
[
0
]);
loopViewOne
.
setSelectedPosition
(
selectOneIndex
);
curSelectedList
.
set
(
0
,
loopViewOne
.
getIndexItem
(
selectOneIndex
));
}
else
{
loopViewOne
.
setSelectedPosition
(
0
);
curSelectedList
.
set
(
0
,
loopViewOne
.
getIndexItem
(
0
));
}
selectOneLoop
(
selectValue
,
curSelectedList
);
switch
(
curRow
)
{
case
3
:
childMap
=
map
.
getMap
(
oneList
.
get
(
selectOneIndex
));
ReadableMapKeySetIterator
childIterator
=
childMap
.
keySetIterator
();
twoList
.
clear
();
while
(
childIterator
.
hasNextKey
())
{
String
key
=
childIterator
.
nextKey
();
twoList
.
add
(
key
);
}
twoList
.
clear
();
getTwoListData
();
loopViewTwo
.
setItems
(
twoList
);
loopViewTwo
.
setSelectedPosition
(
0
);
curSelectedList
.
set
(
1
,
loopViewTwo
.
getIndexItem
(
0
));
array
=
childMap
.
getArray
(
twoList
.
get
(
0
));
threeList
.
clear
();
threeList
=
arrayToList
(
array
);
getThreeListData
(
);
loopViewThree
.
setItems
(
threeList
);
loopViewThree
.
setSelectedPosition
(
0
);
curSelectedList
.
set
(
2
,
loopViewThree
.
getIndexItem
(
0
));
break
;
case
2
:
array
=
map
.
getArray
(
oneList
.
get
(
selectOneIndex
)
);
twoList
=
arrayToList
(
array
);
twoList
.
clear
(
);
getAllTwoListData
(
);
loopViewTwo
.
setItems
(
twoList
);
loopViewTwo
.
setSelectedPosition
(
0
);
curSelectedList
.
set
(
1
,
loopViewTwo
.
getIndexItem
(
0
));
...
...
@@ -300,35 +301,15 @@ public class PickerViewLinkage extends LinearLayout {
case
2
:
switch
(
curRow
)
{
case
3
:
if
(
loopViewOne
.
hasItem
(
selectValue
[
0
]))
{
selectOneIndex
=
loopViewOne
.
getItemPosition
(
selectValue
[
0
]);
loopViewOne
.
setSelectedPosition
(
selectOneIndex
);
curSelectedList
.
set
(
0
,
loopViewOne
.
getIndexItem
(
selectOneIndex
));
}
else
{
loopViewOne
.
setSelectedPosition
(
0
);
curSelectedList
.
set
(
0
,
loopViewOne
.
getIndexItem
(
0
));
}
selectOneLoop
(
selectValue
,
curSelectedList
);
childMap
=
map
.
getMap
(
oneList
.
get
(
selectOneIndex
));
ReadableMapKeySetIterator
childIterator
=
childMap
.
keySetIterator
();
twoList
.
clear
();
while
(
childIterator
.
hasNextKey
())
{
String
key
=
childIterator
.
nextKey
();
twoList
.
add
(
key
);
}
loopViewTwo
.
setItems
(
twoList
);
if
(
loopViewTwo
.
hasItem
(
selectValue
[
1
]))
{
selectTwoIndex
=
loopViewTwo
.
getItemPosition
(
selectValue
[
1
]);
loopViewTwo
.
setSelectedPosition
(
selectTwoIndex
);
curSelectedList
.
set
(
1
,
loopViewTwo
.
getIndexItem
(
selectTwoIndex
));
}
else
{
loopViewTwo
.
setSelectedPosition
(
0
);
curSelectedList
.
set
(
1
,
loopViewTwo
.
getIndexItem
(
0
));
}
getTwoListData
();
selectTwoLoop
(
selectValue
,
curSelectedList
);
array
=
childMap
.
getArray
(
twoList
.
get
(
selectTwoIndex
));
threeList
.
clear
();
threeList
=
arrayToList
(
array
);
getThreeListData
(
);
loopViewThree
.
setItems
(
threeList
);
loopViewThree
.
setSelectedPosition
(
0
);
curSelectedList
.
set
(
2
,
loopViewThree
.
getIndexItem
(
0
));
...
...
@@ -344,35 +325,63 @@ public class PickerViewLinkage extends LinearLayout {
private
void
selectValues
(
String
[]
values
,
final
ArrayList
<
String
>
curSelectedList
)
{
switch
(
values
.
length
)
{
case
3
:
selectOneLoop
(
values
,
curSelectedList
);
twoList
.
clear
();
getTwoListData
();
selectTwoLoop
(
values
,
curSelectedList
);
threeList
.
clear
();
getThreeListData
();
selectThreeLoop
(
values
,
curSelectedList
);
break
;
case
2
:
selectOneLoop
(
values
,
curSelectedList
);
twoList
.
clear
();
getAllTwoListData
();
selectTwoLoop
(
values
,
curSelectedList
);
break
;
default
:
break
;
}
}
/**
* 设置第一个滚轮选中的值
*/
private
void
selectOneLoop
(
String
[]
values
,
final
ArrayList
<
String
>
curSelectedList
)
{
if
(
loopViewOne
.
hasItem
(
values
[
0
]))
{
selectOneIndex
=
loopViewOne
.
getItemPosition
(
values
[
0
]);
loopViewOne
.
setSelectedPosition
(
selectOneIndex
);
curSelectedList
.
set
(
0
,
loopViewOne
.
getIndexItem
(
selectOneIndex
));
}
else
{
selectOneIndex
=
0
;
loopViewOne
.
setSelectedPosition
(
0
);
curSelectedList
.
set
(
0
,
loopViewOne
.
getIndexItem
(
0
));
}
childMap
=
map
.
getMap
(
oneList
.
get
(
selectOneIndex
));
ReadableMapKeySetIterator
childIterator
=
childMap
.
keySetIterator
();
twoList
.
clear
();
while
(
childIterator
.
hasNextKey
())
{
String
key
=
childIterator
.
nextKey
();
twoList
.
add
(
key
);
}
/**
* 设置第二个滚轮选中的值
*/
private
void
selectTwoLoop
(
String
[]
values
,
final
ArrayList
<
String
>
curSelectedList
)
{
loopViewTwo
.
setItems
(
twoList
);
if
(
loopViewTwo
.
hasItem
(
values
[
1
]))
{
selectTwoIndex
=
loopViewTwo
.
getItemPosition
(
values
[
1
]);
loopViewTwo
.
setSelectedPosition
(
selectTwoIndex
);
curSelectedList
.
set
(
1
,
loopViewTwo
.
getIndexItem
(
selectTwoIndex
));
}
else
{
selectTwoIndex
=
0
;
loopViewTwo
.
setSelectedPosition
(
0
);
curSelectedList
.
set
(
1
,
loopViewTwo
.
getIndexItem
(
0
));
}
}
array
=
childMap
.
getArray
(
twoList
.
get
(
selectTwoIndex
));
threeList
.
clear
();
threeList
=
arrayToList
(
array
);
/**
* 设置第三个滚轮选中的值
*/
private
void
selectThreeLoop
(
String
[]
values
,
final
ArrayList
<
String
>
curSelectedList
)
{
loopViewThree
.
setItems
(
threeList
);
if
(
loopViewThree
.
hasItem
(
values
[
2
]))
{
int
selectThreeIndex
=
loopViewThree
.
getItemPosition
(
values
[
2
]);
...
...
@@ -382,40 +391,58 @@ public class PickerViewLinkage extends LinearLayout {
loopViewThree
.
setSelectedPosition
(
0
);
curSelectedList
.
set
(
2
,
loopViewThree
.
getIndexItem
(
0
));
}
break
;
case
2
:
if
(
loopViewOne
.
hasItem
(
values
[
0
]))
{
selectOneIndex
=
loopViewOne
.
getItemPosition
(
values
[
0
]);
loopViewOne
.
setSelectedPosition
(
selectOneIndex
);
curSelectedList
.
set
(
0
,
loopViewOne
.
getIndexItem
(
selectOneIndex
));
}
else
{
loopViewOne
.
setSelectedPosition
(
0
);
curSelectedList
.
set
(
0
,
loopViewOne
.
getIndexItem
(
0
));
}
array
=
map
.
getArray
(
oneList
.
get
(
selectOneIndex
));
twoList
=
arrayToList
(
array
);
loopViewTwo
.
setItems
(
twoList
);
if
(
loopViewTwo
.
hasItem
(
values
[
1
]))
{
selectTwoIndex
=
loopViewTwo
.
getItemPosition
(
values
[
1
]);
loopViewTwo
.
setSelectedPosition
(
selectTwoIndex
);
curSelectedList
.
set
(
1
,
loopViewTwo
.
getIndexItem
(
selectTwoIndex
));
}
else
{
loopViewTwo
.
setSelectedPosition
(
0
);
curSelectedList
.
set
(
1
,
loopViewTwo
.
getIndexItem
(
0
));
/**
* 只有两个滚轮
* 获取第二个滚轮的值
*/
private
void
getAllTwoListData
()
{
ReadableArray
arr
=
data
.
get
(
selectOneIndex
).
getArray
(
oneList
.
get
(
selectOneIndex
));
twoList
=
arrayToList
(
arr
);
}
/**
* 有三个滚轮
* 获取第二个滚轮的值
*/
private
void
getTwoListData
()
{
ReadableArray
childArray
=
data
.
get
(
selectOneIndex
).
getArray
(
oneList
.
get
(
selectOneIndex
));
for
(
int
i
=
0
;
i
<
childArray
.
size
();
i
++)
{
ReadableMap
map
=
childArray
.
getMap
(
i
);
ReadableMapKeySetIterator
iterator
=
map
.
keySetIterator
();
if
(
iterator
.
hasNextKey
())
{
twoList
.
add
(
iterator
.
nextKey
());
}
break
;
default
:
break
;
}
}
/**
* 获取第三个滚轮的值
* */
private
void
getThreeListData
(){
//{ NativeMap: {"b":[{"b1":[11,22,33,44]},{"b2":[55,66,77,88]},{"b3":[99,1010,1111,1212]}]} }
ReadableMap
childMap
=
data
.
get
(
selectOneIndex
).
getArray
(
oneList
.
get
(
selectOneIndex
)).
getMap
(
selectTwoIndex
);
String
key
=
childMap
.
keySetIterator
().
nextKey
();
ReadableArray
sunArray
=
childMap
.
getArray
(
key
);
threeList
=
arrayToList
(
sunArray
);
}
public
void
setIsLoop
(
boolean
isLoop
)
{
if
(!
isLoop
)
{
switch
(
curRow
)
{
case
2
:
loopViewOne
.
setNotLoop
();
loopViewTwo
.
setNotLoop
();
break
;
case
3
:
loopViewOne
.
setNotLoop
();
loopViewTwo
.
setNotLoop
();
loopViewThree
.
setNotLoop
();
break
;
}
}
}
...
...
ios/RCTBEEPickerManager.xcodeproj/project.xcworkspace/xcuserdata/mfhj-dz-001-417.xcuserdatad/UserInterfaceState.xcuserstate
View file @
f1cfac16
No preview for this file type
ios/RCTBEEPickerManager/BzwPicker.h
View file @
f1cfac16
...
...
@@ -22,12 +22,15 @@ typedef void(^backBolock)(NSDictionary * );
@property
(
strong
,
nonatomic
)
NSDictionary
*
pickerDic
;
//一开始进来的字典
@property
(
strong
,
nonatomic
)
NSArray
*
provinceArray
;
//省、市
@property
(
strong
,
nonatomic
)
NSArray
*
cityArray
;
//市,县
@property
(
strong
,
nonatomic
)
NSArray
*
dataDry
;
//一进来的就没有数组和字典的区别肯定是一个字典
@property
(
strong
,
nonatomic
)
NSMutableArray
*
provinceArray
;
//省、市
@property
(
strong
,
nonatomic
)
NSMutableArray
*
cityArray
;
//市,县
@property
(
strong
,
nonatomic
)
NSArray
*
townArray
;
//县,区
@property
(
strong
,
nonatomic
)
NSDictionary
*
selectedDic
;
//3级联动时候用到的
@property
(
strong
,
nonatomic
)
NSArray
*
selectthreeAry
;
@property
(
strong
,
nonatomic
)
NSArray
*
selectArry
;
//2级联动时候用的
@property
(
strong
,
nonatomic
)
UIButton
*
leftBtn
;
//取消
...
...
@@ -38,8 +41,6 @@ typedef void(^backBolock)(NSDictionary * );
@property
(
strong
,
nonatomic
)
NSString
*
rightStr
;
//用来判断进来的类型
@property
(
strong
,
nonatomic
)
id
value
;
@property
(
assign
,
nonatomic
)
BOOL
Correlation
;
//判断有没有没有关联
...
...
@@ -52,10 +53,20 @@ typedef void(^backBolock)(NSDictionary * );
@property
(
assign
,
nonatomic
)
BOOL
noArryElementBool
;
@property
(
strong
,
nonatomic
)
NSMutableArray
*
infoArry
;
//创建一个数组 接收进来的选择Value
@property
(
strong
,
nonatomic
)
NSArray
*
selectValueArry
;
//创建一个下角标记录是第几行 来一进来判断第一行被选中 当进来的是关联两行的逻辑的时候 或者三行关联的时候取第二行做记录
@property
(
assign
,
nonatomic
)
NSInteger
num
;
//创建一个下角标 第三行做记录
@property
(
assign
,
nonatomic
)
NSInteger
threenum
;
-
(
instancetype
)
initWithFrame
:(
CGRect
)
frame
dic
:(
NSDictionary
*
)
dic
leftStr
:(
NSString
*
)
leftStr
centerStr
:(
NSString
*
)
centerStr
rightStr
:(
NSString
*
)
rightStr
topbgColor
:(
NSArray
*
)
topbgColor
bottombgColor
:(
NSArray
*
)
bottombgColor
leftbtnbgColor
:(
NSArray
*
)
leftbtnbgColor
rightbtnbgColor
:(
NSArray
*
)
rightbtnbgColor
centerbtnColor
:(
NSArray
*
)
centerbtnColor
selectValueArry
:(
NSArray
*
)
selectValueArry
;
...
...
ios/RCTBEEPickerManager/BzwPicker.m
View file @
f1cfac16
...
...
@@ -16,6 +16,8 @@
if
(
self
)
{
self
.
backArry
=
[[
NSMutableArray
alloc
]
init
];
self
.
provinceArray
=
[[
NSMutableArray
alloc
]
init
];
self
.
cityArray
=
[[
NSMutableArray
alloc
]
init
];
self
.
selectValueArry
=
selectValueArry
;
self
.
pickerDic
=
dic
;
self
.
leftStr
=
leftStr
;
...
...
@@ -83,13 +85,6 @@
[
self
addSubview
:
self
.
pick
];
self
.
pick
.
backgroundColor
=
[
self
colorWith
:
bottombgColor
];
if
(
_Correlation
)
{
NSDictionary
*
dic
=
(
NSDictionary
*
)
self
.
value
;
self
.
selectedDic
=
[
dic
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
0
]];
}
}
//返回显示的列数
-
(
NSInteger
)
numberOfComponentsInPickerView
:(
UIPickerView
*
)
pickerView
...
...
@@ -194,37 +189,48 @@
//表示一个数组 特殊情况
return
110
;
}
else
{
NSArray
*
arry
=
(
NSArray
*
)
self
.
value
;
return
SCREEN_WIDTH
/
ar
ry
.
count
;
return
SCREEN_WIDTH
/
self
.
dataD
ry
.
count
;
}
}
}
-
(
void
)
pickerView
:(
UIPickerView
*
)
pickerView
didSelectRow
:(
NSInteger
)
row
inComponent
:(
NSInteger
)
component
{
if
(
!
row
)
{
row
=
0
;
}
[
self
.
backArry
removeAllObjects
];
[
self
.
infoArry
removeAllObjects
];
if
(
_Correlation
)
{
//这里是关联的
if
([
_numberCorrela
isEqualToString
:
@"three"
])
{
if
([
_numberCorrela
isEqualToString
:
@"three"
])
{
if
(
component
==
0
)
{
NSDictionary
*
dic
=
(
NSDictionary
*
)
self
.
value
;
[
self
.
cityArray
removeAllObjects
]
;
NSInteger
setline
=
[
_pick
selectedRowInComponent
:
0
];
if
(
setline
)
{
self
.
selectedDic
=
[
dic
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
setline
]];
self
.
selectthreeAry
=
[[
self
.
dataDry
objectAtIndex
:
setline
]
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
setline
]];
}
else
{
self
.
selectedDic
=
[
dic
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
row
]];
}
if
(
self
.
selectedDic
)
{
setline
=
0
;
self
.
cityArray
=
[
self
.
selectedDic
allKeys
];
self
.
selectthreeAry
=
[[
self
.
dataDry
objectAtIndex
:
0
]
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
0
]];
}
if
(
self
.
selectthreeAry
)
{
//遍历数组
for
(
NSInteger
i
=
0
;
i
<
self
.
selectthreeAry
.
count
;
i
++
)
{
NSDictionary
*
dic
=
self
.
selectthreeAry
[
i
];
NSArray
*
ary
=
[
dic
allKeys
];
[
self
.
cityArray
addObject
:[
ary
firstObject
]];
}
}
else
{
...
...
@@ -233,66 +239,65 @@
if
(
self
.
cityArray
.
count
>
0
)
{
NSInteger
oldrow
=
[
self
.
pick
selectedRowInComponent
:
1
];
if
(
oldrow
)
{
self
.
townArray
=
[[
self
.
selectthreeAry
objectAtIndex
:
0
]
objectForKey
:[
self
.
cityArray
objectAtIndex
:
0
]];
self
.
townArray
=
[
self
.
selectedDic
objectForKey
:[
self
.
cityArray
objectAtIndex
:
oldrow
]];
}
else
{
row
=
0
;
self
.
townArray
=
[
self
.
selectedDic
objectForKey
:[
self
.
cityArray
objectAtIndex
:
row
]];
}
}
else
{
self
.
townArray
=
nil
;
}
}
[
pickerView
selectedRowInComponent
:
1
];
[
pickerView
reloadAllComponents
];
[
pickerView
selectedRowInComponent
:
2
];
[
pickerView
selectRow
:
0
inComponent
:
1
animated
:
YES
];
[
pickerView
selectRow
:
0
inComponent
:
2
animated
:
YES
];
}
if
(
component
==
1
)
{
if
(
self
.
selectedDic
&&
self
.
cityArray
.
count
>
0
)
{
NSInteger
setline
=
[
_pick
selectedRowInComponent
:
0
];
self
.
townArray
=
[
self
.
selectedDic
objectForKey
:[
self
.
cityArray
objectAtIndex
:
row
]];
}
else
{
self
.
townArray
=
nil
;
if
(
setline
)
{
}
[
pickerView
selectRow
:
1
inComponent
:
2
animated
:
YES
];
self
.
selectthreeAry
=
[[
self
.
dataDry
objectAtIndex
:
setline
]
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
setline
]];
NSLog
(
@"%@"
,
_selectthreeAry
);
self
.
townArray
=
[[
self
.
selectthreeAry
objectAtIndex
:
row
]
objectForKey
:[
self
.
cityArray
objectAtIndex
:
row
]];
}
else
{
setline
=
0
;
self
.
selectthreeAry
=
[[
self
.
dataDry
objectAtIndex
:
0
]
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
0
]];
//NSLog(@"%ld",(long)row);
self
.
townArray
=
[[
self
.
selectthreeAry
objectAtIndex
:
row
]
objectForKey
:[
self
.
cityArray
objectAtIndex
:
row
]];
}
[
pickerView
reloadComponent
:
2
];
[
pickerView
reloadAllComponents
];
[
pickerView
selectRow
:
0
inComponent
:
2
animated
:
YES
];
}
}
else
if
([
_numberCorrela
isEqualToString
:
@"two"
]){
if
(
component
==
0
)
{
NSDictionary
*
dic
=
(
NSDictionary
*
)
self
.
value
;
[
self
.
cityArray
removeAllObjects
]
;
self
.
selectArry
=
[
dic
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
row
]];
self
.
selectArry
=
[[
self
.
dataDry
objectAtIndex
:
row
]
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
row
]];
if
(
self
.
selectArry
.
count
>
0
)
{
self
.
cityArray
=
self
.
selectArry
;
[
self
.
cityArray
addObjectsFromArray
:
self
.
selectArry
]
;
}
else
{
self
.
cityArray
=
nil
;
}
}
[
pickerView
selectedRowInComponent
:
1
];
[
pickerView
reloadComponent
:
1
];
[
pickerView
selectRow
:
0
inComponent
:
1
animated
:
YES
];
}
}
//返回选择的值就可以了
...
...
@@ -313,23 +318,26 @@
NSString
*
a
=
[
self
.
provinceArray
objectAtIndex
:[
self
.
pick
selectedRowInComponent
:
0
]];
NSString
*
b
=
[
self
.
cityArray
objectAtIndex
:[
self
.
pick
selectedRowInComponent
:
1
]];
NSLog
(
@"%@---%@"
,
a
,
b
);
//
NSLog(@"%@---%@",a,b);
[
self
.
backArry
addObject
:
a
];
[
self
.
backArry
addObject
:
b
];
}
}
else
{
if
(
_noArryElementBool
)
{
[
self
.
backArry
addObject
:[
self
.
noCorreArry
objectAtIndex
:
row
]];
}
else
{
//无关联的,直接给三个选项就行
for
(
NSInteger
i
=
0
;
i
<
self
.
noCorreArry
.
count
;
i
++
)
{
NSArray
*
eachAry
=
self
.
noCorreArry
[
i
];
[
self
.
backArry
addObject
:[
eachAry
objectAtIndex
:[
self
.
pick
selectedRowInComponent
:
i
]]];
}
...
...
@@ -346,71 +354,102 @@
-
(
void
)
getStyle
{
self
.
value
=
[
self
.
pickerDic
objectForKey
:
@"pickerData"
];
self
.
dataDry
=
[
self
.
pickerDic
objectForKey
:
@"pickerData"
];
if
([
self
.
value
isKindOfClass
:[
NSArray
class
]])
{
id
firstobject
=
[
self
.
dataDry
firstObject
];
if
([
firstobject
isKindOfClass
:[
NSArray
class
]])
{
_Correlation
=
NO
;
}
else
if
([
self
.
value
isKindOfClass
:[
NSDictionary
class
]]){
}
else
if
([
firstobject
isKindOfClass
:[
NSDictionary
class
]]){
//_Correlation为YES的话是关联的情况 为NO的话 是不关联的情况
_Correlation
=
YES
;
NSDictionary
*
dic
=
(
NSDictionary
*
)
self
.
value
;
NSDictionary
*
dic
=
(
NSDictionary
*
)
firstobject
;
NSArray
*
twoOrthree
=
[
dic
allKeys
];
NSArray
*
dicValue
=
[
dic
allValues
];
id
fistObjct
=
[
dicValue
firstObject
];
id
scendObjct
=
[[
dic
objectForKey
:[
twoOrthree
firstObject
]]
firstObject
];
if
([
fist
Objct
isKindOfClass
:[
NSDictionary
class
]])
{
if
([
scend
Objct
isKindOfClass
:[
NSDictionary
class
]])
{
_numberCorrela
=
@"three"
;
}
else
if
([
fistObjct
isKindOfClass
:[
NSArray
class
]])
{
}
else
{
_numberCorrela
=
@"two"
;
}
}
}
-
(
void
)
getnumStyle
{
if
(
_Correlation
)
{
//这里是关联的
if
([
_numberCorrela
isEqualToString
:
@"three"
])
{
//省 市
NSDictionary
*
dic
=
(
NSDictionary
*
)
self
.
value
;
for
(
NSInteger
i
=
0
;
i
<
self
.
dataDry
.
count
;
i
++
)
{
NSDictionary
*
dic
=
[
self
.
dataDry
objectAtIndex
:
i
];
NSArray
*
ary
=
[
dic
allKeys
];
[
self
.
provinceArray
addObject
:[
ary
firstObject
]];
}
NSDictionary
*
dic
=
[
self
.
dataDry
firstObject
];
NSArray
*
ary
=
[
dic
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
0
]];
self
.
provinceArray
=
[
dic
allKeys
];
if
(
self
.
provinceArray
.
count
>
0
)
{
self
.
cityArray
=
[[
dic
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
0
]]
allKeys
];
for
(
NSInteger
i
=
0
;
i
<
ary
.
count
;
i
++
)
{
NSDictionary
*
dic
=
[
ary
objectAtIndex
:
i
];
NSArray
*
ary
=
[
dic
allKeys
];
[
self
.
cityArray
addObject
:[
ary
firstObject
]];
}
}
if
(
self
.
cityArray
.
count
>
0
)
{
self
.
townArray
=
[[
dic
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
0
]]
objectForKey
:[
self
.
cityArray
objectAtIndex
:
0
]];
NSDictionary
*
dic
=
[
ary
firstObject
];
self
.
townArray
=
[
dic
objectForKey
:[
self
.
cityArray
firstObject
]];
}
}
else
if
([
_numberCorrela
isEqualToString
:
@"two"
]){
NSDictionary
*
dic
=
(
NSDictionary
*
)
self
.
value
;
for
(
NSInteger
i
=
0
;
i
<
self
.
dataDry
.
count
;
i
++
)
{
NSDictionary
*
dic
=
[
self
.
dataDry
objectAtIndex
:
i
];
self
.
provinceArray
=
[
dic
allKeys
];
NSArray
*
ary
=
[
dic
allKeys
];
self
.
cityArray
=
[
dic
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
0
]];
[
self
.
provinceArray
addObject
:[
ary
firstObject
]];
}
[
self
.
cityArray
addObjectsFromArray
:[[
self
.
dataDry
objectAtIndex
:
0
]
objectForKey
:[
self
.
provinceArray
objectAtIndex
:
0
]]];
}
}
else
{
//这里是不关联的
self
.
noCorreArry
=
(
NSArray
*
)
self
.
value
;
id
noArryElement
=
[
self
.
noCorreArry
firstObject
];
self
.
noCorreArry
=
self
.
dataDry
;
id
noArryElement
=
[
self
.
dataDry
firstObject
];
if
([
noArryElement
isKindOfClass
:[
NSArray
class
]])
{
_noArryElementBool
=
NO
;
}
else
{
//这里为yes表示里面就就一行数据 表示的是只有一行的特殊情况
_noArryElementBool
=
YES
;
}
}
...
...
@@ -475,14 +514,13 @@
{
if
(
_Correlation
)
{
//关联的一开始的默认选择行数
if
([
_numberCorrela
isEqualToString
:
@"three"
])
{
NSDictionary
*
dic
=
(
NSDictionary
*
)
self
.
value
;
[
self
selectValueThree
]
;
if
([
_numberCorrela
isEqualToString
:
@"three"
])
{
[
self
selectValueThree
:
dic
];
}
else
if
([
_numberCorrela
isEqualToString
:
@"two"
]){
[
self
selectValueTwo
:
dic
];
[
self
selectValueTwo
];
}
}
else
{
//一行的时候
...
...
@@ -490,23 +528,34 @@
}
}
//三行时候的选择哪个的逻辑
-
(
void
)
selectValueThree
:(
NSDictionary
*
)
dic
-
(
void
)
selectValueThree
{
NSString
*
selectStr
=
[
NSString
stringWithFormat
:
@"%@"
,
self
.
selectValueArry
.
firstObject
];
for
(
NSInteger
i
=
0
;
i
<
self
.
provinceArray
.
count
;
i
++
)
{
NSString
*
str
=
[
NSString
stringWithFormat
:
@"%@"
,[
self
.
provinceArray
objectAtIndex
:
i
]];
if
([
selectStr
isEqualToString
:
str
])
{
_num
=
i
;
[
_pick
selectRow
:
i
inComponent
:
0
animated
:
NO
];
break
;
}
}
NSArray
*
selecityAry
=
[[
dic
objectForKey
:
selectStr
]
allKeys
];
NSArray
*
selecityAry
=
[[
self
.
dataDry
objectAtIndex
:
_num
]
objectForKey
:
selectStr
];
if
(
selecityAry
.
count
>
0
)
{
self
.
cityArray
=
selecityAry
;
[
self
.
cityArray
removeAllObjects
];
for
(
NSInteger
i
=
0
;
i
<
selecityAry
.
count
;
i
++
)
{
NSDictionary
*
dic
=
selecityAry
[
i
];
NSArray
*
ary
=
[
dic
allKeys
];
[
self
.
cityArray
addObject
:[
ary
firstObject
]];
}
}
NSString
*
selectStrTwo
;
...
...
@@ -517,20 +566,21 @@
NSString
*
str
=
[
NSString
stringWithFormat
:
@"%@"
,[
self
.
cityArray
objectAtIndex
:
i
]];
if
([
selectStrTwo
isEqualToString
:
str
])
{
_threenum
=
i
;
[
_pick
selectRow
:
i
inComponent
:
1
animated
:
NO
];
break
;
}
}
NSDictionary
*
threeDic
=
[
dic
objectForKey
:[
self
.
selectValueArry
firstObject
]];
if
(
threeDic
)
{
self
.
selectedDic
=
threeDic
;
if
(
selecityAry
.
count
>
0
)
{
if
(
self
.
selectValueArry
.
count
>
1
)
{
NSArray
*
arry
=
[
threeDic
objectForKey
:[
self
.
selectValueArry
objectAtIndex
:
1
]];
NSArray
*
arry
=
[[
selecityAry
objectAtIndex
:
_threenum
]
objectForKey
:[
self
.
selectValueArry
objectAtIndex
:
1
]];
if
(
arry
.
count
>
0
)
{
self
.
townArray
=
arry
;
...
...
@@ -552,10 +602,9 @@
}
}
[
_pick
reloadAllComponents
];
}
//两行时候的选择哪个的逻辑
-
(
void
)
selectValueTwo
:(
NSDictionary
*
)
dic
-
(
void
)
selectValueTwo
{
NSString
*
selectStr
=
[
NSString
stringWithFormat
:
@"%@"
,
self
.
selectValueArry
.
firstObject
];
...
...
@@ -563,21 +612,30 @@
for
(
NSInteger
i
=
0
;
i
<
self
.
provinceArray
.
count
;
i
++
)
{
NSString
*
str
=
[
NSString
stringWithFormat
:
@"%@"
,[
self
.
provinceArray
objectAtIndex
:
i
]];
if
([
selectStr
isEqualToString
:
str
])
{
[
_pick
selectRow
:
i
inComponent
:
0
animated
:
NO
];
_num
=
i
;
break
;
}
}
if
([
dic
objectForKey
:
selectStr
])
{
self
.
cityArray
=
[
dic
objectForKey
:
selectStr
];
NSArray
*
twoArry
=
[[
self
.
dataDry
objectAtIndex
:
_num
]
objectForKey
:
selectStr
];
if
(
twoArry
&&
twoArry
.
count
>
0
)
{
[
self
.
cityArray
removeAllObjects
];
[
self
.
cityArray
addObjectsFromArray
:
twoArry
];
}
NSString
*
selectTwoStr
;
if
(
self
.
selectValueArry
.
count
>
1
)
{
selectTwoStr
=
[
NSString
stringWithFormat
:
@"%@"
,[
self
.
selectValueArry
objectAtIndex
:
1
]];
}
for
(
NSInteger
i
=
0
;
i
<
self
.
cityArray
.
count
;
i
++
)
{
NSString
*
str
=
[
NSString
stringWithFormat
:
@"%@"
,[
self
.
cityArray
objectAtIndex
:
i
]];
if
([
selectTwoStr
isEqualToString
:
str
])
{
[
_pick
selectRow
:
i
inComponent
:
1
animated
:
NO
];
...
...
@@ -585,6 +643,7 @@
break
;
}
}
[
_pick
reloadAllComponents
];
}
//一行时候的选择哪个的逻辑
...
...
@@ -689,7 +748,7 @@
}
}
else
{
//无关联的,直接给
三
个选项就行
//无关联的,直接给
几
个选项就行
for
(
NSInteger
i
=
0
;
i
<
self
.
noCorreArry
.
count
;
i
++
)
{
NSArray
*
eachAry
=
self
.
noCorreArry
[
i
];
...
...
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