Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
GeliBusinessPlatform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
CI / CD Analytics
Repository Analytics
Value Stream Analytics
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ljy
GeliBusinessPlatform
Commits
4b9916af
Commit
4b9916af
authored
Apr 20, 2021
by
lujunye
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
按私服撒旦法撒旦法333
parent
4c88eba7
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
5 additions
and
212 deletions
+5
-212
GeliBusinessPlatform.xcworkspace/xcuserdata/junyelu.xcuserdatad/UserInterfaceState.xcuserstate
...erdata/junyelu.xcuserdatad/UserInterfaceState.xcuserstate
+0
-0
GeliBusinessPlatform/ViewController/拼拼货group/P_P_H_Adr_VC.swift
...sinessPlatform/ViewController/拼拼货group/P_P_H_Adr_VC.swift
+5
-212
No files found.
GeliBusinessPlatform.xcworkspace/xcuserdata/junyelu.xcuserdatad/UserInterfaceState.xcuserstate
View file @
4b9916af
No preview for this file type
GeliBusinessPlatform/ViewController/拼拼货group/P_P_H_Adr_VC.swift
View file @
4b9916af
...
...
@@ -13,7 +13,7 @@ import LGButton
protocol
P_P_H_Adr_VC_Delegate
{
func
P_P_H_Adr_VC_Data
(
adrData
:
addPinPinOrder_adrInfo
,
isSend
:
Bool
,
idx
:
Int
)
}
class
P_P_H_Adr_VC
:
BaseViewController
,
SJMapViewControllerDelegate
,
UIPickerViewDataSource
,
UIPickerViewDelegate
,
UITextViewDelegate
{
class
P_P_H_Adr_VC
:
BaseViewController
,
SJMapViewControllerDelegate
,
UITextViewDelegate
{
@IBOutlet
weak
var
submit_btn
:
LGButton
!
var
isSend
=
false
var
idx
=
0
...
...
@@ -98,42 +98,6 @@ class P_P_H_Adr_VC: BaseViewController,SJMapViewControllerDelegate, UIPickerView
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
@objc
func
adrSelectFinish
(
sender
:
UIButton
){
var
proName
=
""
var
cityName
=
""
var
areaName
=
""
let
proDict
=
addressArray
[
provinceIndex
]
as!
Dictionary
<
String
,
Any
>
proName
=
proDict
[
"area_name"
]
as!
String
if
(
proDict
[
"city_list"
]
as!
NSArray
)
.
count
>
0
{
let
cityDict
=
(
proDict
[
"city_list"
]
as!
NSArray
)[
cityIndex
]
as!
[
String
:
AnyObject
]
cityName
=
cityDict
[
"area_name"
]
as!
String
if
(
cityDict
[
"district_list"
]
as!
NSArray
)
.
count
>
0
{
let
areaDict
=
(
cityDict
[
"district_list"
]
as!
NSArray
)[
areaIndex
]
as!
Dictionary
<
String
,
Any
>
areaName
=
areaDict
[
"area_name"
]
as!
String
}
}
var
selectAdr
=
proName
if
cityName
.
count
>
0
{
selectAdr
=
proName
+
"-"
+
cityName
if
areaName
.
count
>
0
{
selectAdr
=
proName
+
"-"
+
cityName
+
"-"
+
areaName
}
}
bgBtn
?
.
removeFromSuperview
()
btmView
?
.
subviews
.
forEach
({
(
view
)
in
view
.
removeFromSuperview
()
})
btmView
?
.
removeFromSuperview
()
btmView
=
nil
bgBtn
=
nil
city_lbl
.
text
=
selectAdr
}
func
textViewDidChange
(
_
textView
:
UITextView
)
{
if
textView
==
textTV
{
if
textView
.
text
.
count
!=
0
{
...
...
@@ -219,9 +183,7 @@ class P_P_H_Adr_VC: BaseViewController,SJMapViewControllerDelegate, UIPickerView
make
.
right
.
equalTo
(
-
15
)
make
.
height
.
equalTo
(
200
)
}
getIndex
()
textTV
.
delegate
=
self
if
adrInfo
!=
nil
{
...
...
@@ -244,183 +206,13 @@ class P_P_H_Adr_VC: BaseViewController,SJMapViewControllerDelegate, UIPickerView
func
getIndex
(){
let
path
=
Bundle
.
main
.
path
(
forResource
:
"address_new"
,
ofType
:
"json"
)
let
url
=
URL
(
fileURLWithPath
:
path
!
)
// 带throws的方法需要抛异常
do
{
let
data
=
try
Data
(
contentsOf
:
url
)
let
jsonData
=
JSON
(
data
)
print
(
"地址文件数据"
,
jsonData
[
"data"
])
self
.
addressArray
=
jsonData
[
"data"
]
.
arrayObject
!
for
i
in
0
..<
addressArray
.
count
{
let
item
=
addressArray
[
i
]
as!
Dictionary
<
String
,
Any
>
if
item
[
"area_id"
]
as!
Int
==
provinceIndex
{
let
citys
=
item
[
"city_list"
]
as!
Array
<
Dictionary
<
String
,
Any
>>
if
citys
.
count
==
0
{
provinceIndex
=
i
city_lbl
.
text
=
item
[
"area_name"
]
!
as!
String
}
for
j
in
0
..<
citys
.
count
{
let
cItem
=
citys
[
j
]
if
cItem
[
"area_id"
]
as!
Int
==
cityIndex
{
let
districts
=
cItem
[
"district_list"
]
as!
Array
<
Dictionary
<
String
,
Any
>>
if
districts
.
count
==
0
{
cityIndex
=
j
city_lbl
.
text
=
"
\(
item
[
"area_name"
]
!
)
-
\(
cItem
[
"area_name"
]
!
)
"
}
for
k
in
0
..<
districts
.
count
{
let
dItem
=
districts
[
k
]
if
dItem
[
"area_id"
]
as!
Int
==
areaIndex
{
provinceIndex
=
i
cityIndex
=
j
areaIndex
=
k
city_lbl
.
text
=
"
\(
item
[
"area_name"
]
!
)
-
\(
cItem
[
"area_name"
]
!
)
-
\(
dItem
[
"area_name"
]
!
)
"
break
}
}
}
}
}
else
{
provinceIndex
=
0
cityIndex
=
0
areaIndex
=
0
}
}
}
catch
let
error
as
Error
?
{
print
(
"读取本地数据出现错误!"
,
error
as
Any
)
}
}
//MARK:--地址选择器
func
showAreaSelect
(
view
:
UIView
){
//创建选择器
pickerView
=
UIPickerView
()
//将dataSource设置成自己
pickerView
.
dataSource
=
self
//将delegate设置成自己
pickerView
.
delegate
=
self
view
.
addSubview
(
pickerView
)
pickerView
.
snp
.
makeConstraints
{
(
make
)
in
make
.
top
.
equalTo
(
30
)
make
.
left
.
right
.
bottom
.
equalTo
(
0
)
}
pickerView
.
selectRow
(
provinceIndex
,
inComponent
:
0
,
animated
:
false
)
pickerView
(
pickerView
,
didSelectRow
:
provinceIndex
,
inComponent
:
0
)
pickerView
.
selectRow
(
cityIndex
,
inComponent
:
1
,
animated
:
false
)
pickerView
(
pickerView
,
didSelectRow
:
cityIndex
,
inComponent
:
1
)
pickerView
.
selectRow
(
areaIndex
,
inComponent
:
2
,
animated
:
false
)
pickerView
(
pickerView
,
didSelectRow
:
areaIndex
,
inComponent
:
2
)
}
//选择器
var
pickerView
:
UIPickerView
!
//所以地址数据集合
var
addressArray
:
Array
<
Any
>
=
[]
//设置选择框的列数为3列,继承于UIPickerViewDataSource协议
func
numberOfComponents
(
in
pickerView
:
UIPickerView
)
->
Int
{
return
3
}
//设置选择框的行数,继承于UIPickerViewDataSource协议
func
pickerView
(
_
pickerView
:
UIPickerView
,
numberOfRowsInComponent
component
:
Int
)
->
Int
{
if
component
==
0
{
return
self
.
addressArray
.
count
}
else
if
component
==
1
{
print
(
"alkjdflkasd == "
,
provinceIndex
)
let
province
=
self
.
addressArray
[
provinceIndex
]
as!
Dictionary
<
String
,
Any
>
return
(
province
[
"city_list"
]
!
as!
NSArray
)
.
count
}
else
{
let
province
=
self
.
addressArray
[
provinceIndex
]
as!
Dictionary
<
String
,
Any
>
if
(
province
[
"city_list"
]
as!
NSArray
)
.
count
==
0
{
return
0
}
if
let
city
=
(
province
[
"city_list"
]
as!
NSArray
)[
cityIndex
]
as?
[
String
:
AnyObject
]
{
print
(
city
[
"district_list"
]
as
Any
)
return
(
city
[
"district_list"
]
!
as!
NSArray
)
.
count
}
else
{
return
0
}
}
}
//设置选择框各选项的内容,继承于UIPickerViewDelegate协议
func
pickerView
(
_
pickerView
:
UIPickerView
,
titleForRow
row
:
Int
,
forComponent
component
:
Int
)
->
String
?
{
if
component
==
0
{
let
rowDic
=
self
.
addressArray
[
row
]
as!
Dictionary
<
String
,
Any
>
return
rowDic
[
"area_name"
]
as?
String
}
else
if
component
==
1
{
let
province
=
self
.
addressArray
[
provinceIndex
]
as!
Dictionary
<
String
,
Any
>
let
city
=
(
province
[
"city_list"
]
as!
NSArray
)[
row
]
as!
[
String
:
AnyObject
]
return
city
[
"area_name"
]
as?
String
}
else
{
let
province
=
self
.
addressArray
[
provinceIndex
]
as!
Dictionary
<
String
,
Any
>
let
city
=
(
province
[
"city_list"
]
as!
NSArray
)[
cityIndex
]
as!
[
String
:
AnyObject
]
let
area
=
(
city
[
"district_list"
]
as!
NSArray
)[
row
]
as!
Dictionary
<
String
,
Any
>
return
area
[
"area_name"
]
as?
String
}
}
//选中项改变事件(将在滑动停止后触发)
func
pickerView
(
_
pickerView
:
UIPickerView
,
didSelectRow
row
:
Int
,
inComponent
component
:
Int
)
{
//根据列、行索引判断需要改变数据的区域
switch
(
component
)
{
case
0
:
provinceIndex
=
row
;
pickerView
.
reloadComponent
(
1
);
pickerView
.
reloadComponent
(
2
);
pickerView
.
selectRow
(
cityIndex
,
inComponent
:
1
,
animated
:
false
)
pickerView
.
selectRow
(
areaIndex
,
inComponent
:
2
,
animated
:
false
)
case
1
:
cityIndex
=
row
;
pickerView
.
reloadComponent
(
2
);
pickerView
.
selectRow
(
areaIndex
,
inComponent
:
2
,
animated
:
false
)
case
2
:
areaIndex
=
row
;
default
:
break
;
}
}
//自定义UIPickerView
func
pickerView
(
_
pickerView
:
UIPickerView
,
viewForRow
row
:
Int
,
forComponent
component
:
Int
,
reusing
view
:
UIView
?)
->
UIView
{
let
genderLbl
=
UILabel
()
genderLbl
.
textAlignment
=
.
center
genderLbl
.
font
=
UIFont
.
systemFont
(
ofSize
:
15
)
genderLbl
.
textColor
=
UIColor
.
init
(
named
:
"标题字颜色"
)
if
component
==
0
{
let
rowDic
=
self
.
addressArray
[
row
]
as!
Dictionary
<
String
,
Any
>
genderLbl
.
text
=
rowDic
[
"area_name"
]
as?
String
}
else
if
component
==
1
{
let
province
=
self
.
addressArray
[
provinceIndex
]
as!
Dictionary
<
String
,
Any
>
let
city
=
(
province
[
"city_list"
]
as!
NSArray
)[
row
]
as!
[
String
:
AnyObject
]
genderLbl
.
text
=
city
[
"area_name"
]
as?
String
}
else
{
let
province
=
self
.
addressArray
[
provinceIndex
]
as!
Dictionary
<
String
,
Any
>
let
city
=
(
province
[
"city_list"
]
as!
NSArray
)[
cityIndex
]
as!
[
String
:
AnyObject
]
let
area
=
(
city
[
"district_list"
]
as!
NSArray
)[
row
]
as!
Dictionary
<
String
,
Any
>
genderLbl
.
text
=
area
[
"area_name"
]
as?
String
}
return
genderLbl
}
@IBOutlet
weak
var
adrCenterY
:
NSLayoutConstraint
!
func
textSize
(
text
:
String
,
font
:
UIFont
,
maxSize
:
CGSize
)
->
CGSize
{
return
text
.
boundingRect
(
with
:
maxSize
,
options
:
[
.
usesLineFragmentOrigin
],
attributes
:
[
NSAttributedString
.
Key
.
font
:
font
],
context
:
nil
)
.
size
}
func
getInsets
()
{
let
tvSize
=
textSize
(
text
:
adrTv
.
text
,
font
:
UIFont
.
systemFont
(
ofSize
:
13
),
maxSize
:
CGSize
(
width
:
adrTv
.
bounds
.
size
.
width
,
height
:
900
))
if
tvSize
.
height
>
20
{
...
...
@@ -429,5 +221,6 @@ class P_P_H_Adr_VC: BaseViewController,SJMapViewControllerDelegate, UIPickerView
adrCenterY
.
constant
=
4
}
}
}
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