提交 414496fd authored 作者: 逄仁秀's avatar 逄仁秀

no message

上级 d1b2fe94
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
880FF38E2B21A6C600872B34 /* KJAccountModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 880FF38D2B21A6C600872B34 /* KJAccountModel.swift */; }; 880FF38E2B21A6C600872B34 /* KJAccountModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 880FF38D2B21A6C600872B34 /* KJAccountModel.swift */; };
880FF3912B22C39D00872B34 /* KJZFCodeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 880FF38F2B22C39D00872B34 /* KJZFCodeViewController.swift */; }; 880FF3912B22C39D00872B34 /* KJZFCodeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 880FF38F2B22C39D00872B34 /* KJZFCodeViewController.swift */; };
880FF3922B22C39D00872B34 /* KJZFCodeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 880FF3902B22C39D00872B34 /* KJZFCodeViewController.xib */; }; 880FF3922B22C39D00872B34 /* KJZFCodeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 880FF3902B22C39D00872B34 /* KJZFCodeViewController.xib */; };
88276FAD2B284AB0009BAE13 /* KJRechargeParamModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88276FAC2B284AB0009BAE13 /* KJRechargeParamModel.swift */; }; 88276FAD2B284AB0009BAE13 /* KJConfigParamModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88276FAC2B284AB0009BAE13 /* KJConfigParamModel.swift */; };
883B01E42AC16CFC00C3ABBF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883B01E32AC16CFC00C3ABBF /* AppDelegate.swift */; }; 883B01E42AC16CFC00C3ABBF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883B01E32AC16CFC00C3ABBF /* AppDelegate.swift */; };
883B01E82AC16CFC00C3ABBF /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883B01E72AC16CFC00C3ABBF /* ViewController.swift */; }; 883B01E82AC16CFC00C3ABBF /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 883B01E72AC16CFC00C3ABBF /* ViewController.swift */; };
883B01EB2AC16CFC00C3ABBF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 883B01E92AC16CFC00C3ABBF /* Main.storyboard */; }; 883B01EB2AC16CFC00C3ABBF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 883B01E92AC16CFC00C3ABBF /* Main.storyboard */; };
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
880FF38D2B21A6C600872B34 /* KJAccountModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KJAccountModel.swift; sourceTree = "<group>"; }; 880FF38D2B21A6C600872B34 /* KJAccountModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KJAccountModel.swift; sourceTree = "<group>"; };
880FF38F2B22C39D00872B34 /* KJZFCodeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KJZFCodeViewController.swift; sourceTree = "<group>"; }; 880FF38F2B22C39D00872B34 /* KJZFCodeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KJZFCodeViewController.swift; sourceTree = "<group>"; };
880FF3902B22C39D00872B34 /* KJZFCodeViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KJZFCodeViewController.xib; sourceTree = "<group>"; }; 880FF3902B22C39D00872B34 /* KJZFCodeViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KJZFCodeViewController.xib; sourceTree = "<group>"; };
88276FAC2B284AB0009BAE13 /* KJRechargeParamModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KJRechargeParamModel.swift; sourceTree = "<group>"; }; 88276FAC2B284AB0009BAE13 /* KJConfigParamModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KJConfigParamModel.swift; sourceTree = "<group>"; };
883B01E02AC16CFC00C3ABBF /* iOS-2kj.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "iOS-2kj.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 883B01E02AC16CFC00C3ABBF /* iOS-2kj.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "iOS-2kj.app"; sourceTree = BUILT_PRODUCTS_DIR; };
883B01E32AC16CFC00C3ABBF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; 883B01E32AC16CFC00C3ABBF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
883B01E72AC16CFC00C3ABBF /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; }; 883B01E72AC16CFC00C3ABBF /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
...@@ -185,7 +185,7 @@ ...@@ -185,7 +185,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
880FF38D2B21A6C600872B34 /* KJAccountModel.swift */, 880FF38D2B21A6C600872B34 /* KJAccountModel.swift */,
88276FAC2B284AB0009BAE13 /* KJRechargeParamModel.swift */, 88276FAC2B284AB0009BAE13 /* KJConfigParamModel.swift */,
); );
path = model; path = model;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -582,7 +582,7 @@ ...@@ -582,7 +582,7 @@
88BE38132B0C84CE00D04877 /* KJNoPayCodeViewController.swift in Sources */, 88BE38132B0C84CE00D04877 /* KJNoPayCodeViewController.swift in Sources */,
88BE37F62AFCC27200D04877 /* KJEmoneyViewController.swift in Sources */, 88BE37F62AFCC27200D04877 /* KJEmoneyViewController.swift in Sources */,
88BE37DE2AFCC19F00D04877 /* KJChargeViewController.swift in Sources */, 88BE37DE2AFCC19F00D04877 /* KJChargeViewController.swift in Sources */,
88276FAD2B284AB0009BAE13 /* KJRechargeParamModel.swift in Sources */, 88276FAD2B284AB0009BAE13 /* KJConfigParamModel.swift in Sources */,
883B01E82AC16CFC00C3ABBF /* ViewController.swift in Sources */, 883B01E82AC16CFC00C3ABBF /* ViewController.swift in Sources */,
88BE37FF2AFCCCB500D04877 /* KJDeviceInfo.swift in Sources */, 88BE37FF2AFCCCB500D04877 /* KJDeviceInfo.swift in Sources */,
883B01E42AC16CFC00C3ABBF /* AppDelegate.swift in Sources */, 883B01E42AC16CFC00C3ABBF /* AppDelegate.swift in Sources */,
......
...@@ -4,22 +4,6 @@ ...@@ -4,22 +4,6 @@
type = "0" type = "0"
version = "2.0"> version = "2.0">
<Breakpoints> <Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "FC1DA8F6-67DA-4640-9DF6-892588A807C5"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "iOS-2kj/home/subC/KJChargeViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "46"
endingLineNumber = "46"
landmarkName = "obtainData()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy <BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent <BreakpointContent
...@@ -65,8 +49,54 @@ ...@@ -65,8 +49,54 @@
endingLineNumber = "72" endingLineNumber = "72"
offsetFromSymbolStart = "36"> offsetFromSymbolStart = "36">
</Location> </Location>
<Location
uuid = "A3F2D383-8D8C-4BF2-A40E-79CD7585E802 - 93c36718f4600576"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #1 @Sendable (Swift.Optional&lt;Foundation.Data&gt;, Swift.Optional&lt;__C.NSURLResponse&gt;, Swift.Optional&lt;Swift.Error&gt;) -&gt; () in iOS_2kj.KJZFCodeViewController.sureAction(Any) -&gt; ()"
moduleName = "iOS-2kj"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/renxiupang/Documents/rire-tool/iOS-2kj/home/subC/KJZFCodeViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "71"
endingLineNumber = "71"
offsetFromSymbolStart = "1848">
</Location>
<Location
uuid = "A3F2D383-8D8C-4BF2-A40E-79CD7585E802 - 3fdeed6896bd20e0"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #1 @Swift.MainActor () -&gt; () in closure #1 @Sendable (Swift.Optional&lt;Foundation.Data&gt;, Swift.Optional&lt;__C.NSURLResponse&gt;, Swift.Optional&lt;Swift.Error&gt;) -&gt; () in iOS_2kj.KJZFCodeViewController.sureAction(Any) -&gt; ()"
moduleName = "iOS-2kj"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/renxiupang/Documents/rire-tool/iOS-2kj/home/subC/KJZFCodeViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "72"
endingLineNumber = "72"
offsetFromSymbolStart = "36">
</Location>
</Locations> </Locations>
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "9DE4A382-1AF3-431B-AB5B-1CE72F6EC327"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "iOS-2kj/home/subC/KJElectricityViewController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "42"
endingLineNumber = "42"
landmarkName = "obtainData()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints> </Breakpoints>
</Bucket> </Bucket>
...@@ -31,6 +31,11 @@ class KJHomeViewController: KJBaseViewController { ...@@ -31,6 +31,11 @@ class KJHomeViewController: KJBaseViewController {
let vc = KJAccountViewController() let vc = KJAccountViewController()
navigationController?.pushViewController(vc, animated: true) navigationController?.pushViewController(vc, animated: true)
} }
@objc func userAction() {
let vc = KJLoginPhoneViewController()
navigationController?.pushViewController(vc, animated: true)
}
/* /*
// MARK: - Navigation // MARK: - Navigation
...@@ -60,6 +65,7 @@ extension KJHomeViewController: UICollectionViewDelegate, UICollectionViewDataSo ...@@ -60,6 +65,7 @@ extension KJHomeViewController: UICollectionViewDelegate, UICollectionViewDataSo
if indexPath.section == 0 { if indexPath.section == 0 {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "KJHomeHeaderCell", for: indexPath) as! KJHomeHeaderCell let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "KJHomeHeaderCell", for: indexPath) as! KJHomeHeaderCell
cell.accountBtn.addTarget(self, action: #selector(accountAction), for: .touchUpInside) cell.accountBtn.addTarget(self, action: #selector(accountAction), for: .touchUpInside)
cell.userBtn.addTarget(self, action: #selector(userAction), for: .touchUpInside)
return cell return cell
} }
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "KJHomeCollectionViewCell", for: indexPath) as! KJHomeCollectionViewCell let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "KJHomeCollectionViewCell", for: indexPath) as! KJHomeCollectionViewCell
......
//
// KJRechargeParamModel.swift
// iOS-2kj
//
// Created by 仁秀逄 on 2023/12/12.
//
import UIKit
import HandyJSON
class KJGetConvModel: HandyJSON {
required init() {}
}
class KJConfigParamModel: HandyJSON {
var name: String?
var desc: String?
var type: String?
var verify: String?
var data: [KJConfigDataParamModel]?
var url: String? //下拉框数据,需要请求接口
var param: [String: String]? //请求接口传参数
required init() {}
}
class KJConfigDataParamModel: HandyJSON {
var code: String?
var name: String?
var amount: String?
var basic_fee: String?
var per_fee: String?
required init() {}
}
//
// KJRechargeParamModel.swift
// iOS-2kj
//
// Created by 仁秀逄 on 2023/12/12.
//
import UIKit
import HandyJSON
class KJRechargeParamModel: HandyJSON {
required init() {}
}
...@@ -12,13 +12,61 @@ class KJElectricityViewController: KJBaseViewController { ...@@ -12,13 +12,61 @@ class KJElectricityViewController: KJBaseViewController {
@IBOutlet weak var channelTF: UITextField! @IBOutlet weak var channelTF: UITextField!
@IBOutlet weak var idTF: UITextField! @IBOutlet weak var idTF: UITextField!
@IBOutlet weak var electricityBtn: UIButton! @IBOutlet weak var electricityBtn: UIButton!
func obtainData() {
// 构建URL
let url:URL = URL(string: "https://www.danamudah.fun/kopisusu_server/convenience/get_conv_param")!
// 发送HTTP请求的的session对象
let session = URLSession.shared
// 构建请求request
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInZlcnNpb24iOjF9.eyJwaG9uZSI6Im5HU2NtR21abW1hWFkyVm8iLCJpZCI6IjMxOSIsImV4cCI6MTcxNDYzNjk1MSwiZXh0Ijp7InNlc3Npb25faWQiOjQ3NzAyfSwiaXNzIjoiaW5kb25lc2lhIiwiaWF0IjoxNzAxNjc2OTUxfQ.xzikFbX-fP47D1AF51FEKdM9dm4dPU6CFlTFQkQV3XU", forHTTPHeaderField: "Token")
var param = ["method": "electric"]
var jsonData = NSData()
do {
jsonData = try JSONSerialization.data(withJSONObject: param, options: .prettyPrinted) as NSData
} catch {
print(error.localizedDescription)
}
request.httpBody = jsonData as Data
// 发一个post请求
let task = session.dataTask(with: request as URLRequest) {(
data, response, error) in
guard let data = data, let _:URLResponse = response, error == nil else {
print("Request Erroor")
return
}
let dataString = String(data: data, encoding: String.Encoding.utf8)
let dict = self.getDictionaryFromJSONString(jsonString: dataString!)
print(dict)
}
task.resume()
}
func getDictionaryFromJSONString(jsonString: String) -> NSDictionary {
// 将传入的 JSON 字符串 jsonString 使用 data(using:) 方法转换为 Data 类型
let jsonData:Data = jsonString.data(using: .utf8)!
// 通过 JSONSerialization.jsonObject(with:options:) 方法将 jsonData 进行 JSON 解析,并将解析结果存储在 dict 变量中。这里使用的选项是 .mutableContainers,表示可以修改容器对象
let dict = try? JSONSerialization.jsonObject(with: jsonData, options: .mutableContainers)
// 使用条件语句判断 dict 是否为 nil。如果不为 nil,表示 JSON 解析成功,将 dict 强制转换为 NSDictionary 类型,并返回。
// 如果 dict 为 nil,表示 JSON 解析失败,返回一个空的 NSDictionary 对象。
if dict != nil {
return dict as! NSDictionary
}
return NSDictionary()
}
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
obtainData()
// Do any additional setup after loading the view. // Do any additional setup after loading the view.
navBack.isHidden = true navBack.isHidden = true
statusView.isHidden = true statusView.isHidden = true
} }
/* /*
......
...@@ -13,6 +13,8 @@ class KJHomeHeaderCell: UICollectionViewCell { ...@@ -13,6 +13,8 @@ class KJHomeHeaderCell: UICollectionViewCell {
@IBOutlet weak var qrcodeBtn: UIButton! @IBOutlet weak var qrcodeBtn: UIButton!
@IBOutlet weak var cardManagerBtn: UIButton! @IBOutlet weak var cardManagerBtn: UIButton!
@IBOutlet weak var userBtn: UIButton!
override func awakeFromNib() { override func awakeFromNib() {
super.awakeFromNib() super.awakeFromNib()
// Initialization code // Initialization code
......
...@@ -27,6 +27,11 @@ ...@@ -27,6 +27,11 @@
<constraint firstAttribute="height" constant="45" id="QrS-5g-cvC"/> <constraint firstAttribute="height" constant="45" id="QrS-5g-cvC"/>
<constraint firstAttribute="width" constant="45" id="XRP-z7-n35"/> <constraint firstAttribute="width" constant="45" id="XRP-z7-n35"/>
</constraints> </constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<real key="value" value="22.5"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</imageView> </imageView>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_account" translatesAutoresizingMaskIntoConstraints="NO" id="N8W-Jk-3QN"> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_account" translatesAutoresizingMaskIntoConstraints="NO" id="N8W-Jk-3QN">
<rect key="frame" x="37.666666666666664" y="133" width="43.999999999999993" height="44"/> <rect key="frame" x="37.666666666666664" y="133" width="43.999999999999993" height="44"/>
...@@ -91,12 +96,25 @@ ...@@ -91,12 +96,25 @@
<state key="normal" title="Button"/> <state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="plain" title=" "/> <buttonConfiguration key="configuration" style="plain" title=" "/>
</button> </button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="登录" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yTU-AM-EWm">
<rect key="frame" x="87" y="53.666666666666664" width="30.666666666666671" height="17.999999999999993"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="A3K-aS-MS2">
<rect key="frame" x="27.000000000000007" y="40" width="90.666666666666686" height="45"/>
<state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="plain" title=" "/>
</button>
</subviews> </subviews>
<color key="backgroundColor" red="0.40392156862745099" green="0.27843137254901962" blue="0.80392156862745101" alpha="1" colorSpace="calibratedRGB"/> <color key="backgroundColor" red="0.40392156862745099" green="0.27843137254901962" blue="0.80392156862745101" alpha="1" colorSpace="calibratedRGB"/>
<constraints> <constraints>
<constraint firstItem="tPP-U6-2bl" firstAttribute="top" secondItem="Pxu-Ab-4LJ" secondAttribute="top" id="0ib-UE-qPv"/> <constraint firstItem="tPP-U6-2bl" firstAttribute="top" secondItem="Pxu-Ab-4LJ" secondAttribute="top" id="0ib-UE-qPv"/>
<constraint firstItem="jsx-fR-l9y" firstAttribute="top" secondItem="N8W-Jk-3QN" secondAttribute="top" id="7r4-GT-gPQ"/> <constraint firstItem="jsx-fR-l9y" firstAttribute="top" secondItem="N8W-Jk-3QN" secondAttribute="top" id="7r4-GT-gPQ"/>
<constraint firstItem="ANM-gF-Ryp" firstAttribute="centerX" secondItem="Pxu-Ab-4LJ" secondAttribute="centerX" id="B70-pI-njv"/> <constraint firstItem="ANM-gF-Ryp" firstAttribute="centerX" secondItem="Pxu-Ab-4LJ" secondAttribute="centerX" id="B70-pI-njv"/>
<constraint firstItem="A3K-aS-MS2" firstAttribute="top" secondItem="nHZ-yn-vrn" secondAttribute="top" id="BnG-qp-mLz"/>
<constraint firstItem="A3K-aS-MS2" firstAttribute="leading" secondItem="nHZ-yn-vrn" secondAttribute="leading" id="Bvr-pR-RAa"/>
<constraint firstItem="R2r-0B-die" firstAttribute="centerX" secondItem="jgg-NR-sol" secondAttribute="centerX" id="D77-eV-JOh"/> <constraint firstItem="R2r-0B-die" firstAttribute="centerX" secondItem="jgg-NR-sol" secondAttribute="centerX" id="D77-eV-JOh"/>
<constraint firstItem="Pxu-Ab-4LJ" firstAttribute="centerY" secondItem="jgg-NR-sol" secondAttribute="centerY" id="G3L-uE-BbM"/> <constraint firstItem="Pxu-Ab-4LJ" firstAttribute="centerY" secondItem="jgg-NR-sol" secondAttribute="centerY" id="G3L-uE-BbM"/>
<constraint firstItem="iF7-4m-EFj" firstAttribute="centerX" secondItem="N8W-Jk-3QN" secondAttribute="centerX" id="Hug-5p-vQO"/> <constraint firstItem="iF7-4m-EFj" firstAttribute="centerX" secondItem="N8W-Jk-3QN" secondAttribute="centerX" id="Hug-5p-vQO"/>
...@@ -106,8 +124,11 @@ ...@@ -106,8 +124,11 @@
<constraint firstItem="iF7-4m-EFj" firstAttribute="bottom" secondItem="jsx-fR-l9y" secondAttribute="bottom" id="T0t-Wn-9Oq"/> <constraint firstItem="iF7-4m-EFj" firstAttribute="bottom" secondItem="jsx-fR-l9y" secondAttribute="bottom" id="T0t-Wn-9Oq"/>
<constraint firstItem="nHZ-yn-vrn" firstAttribute="top" secondItem="68r-Mh-6Lh" secondAttribute="top" constant="40" id="UyG-1c-23H"/> <constraint firstItem="nHZ-yn-vrn" firstAttribute="top" secondItem="68r-Mh-6Lh" secondAttribute="top" constant="40" id="UyG-1c-23H"/>
<constraint firstItem="N8W-Jk-3QN" firstAttribute="top" secondItem="nHZ-yn-vrn" secondAttribute="bottom" constant="48" id="V60-sk-nEh"/> <constraint firstItem="N8W-Jk-3QN" firstAttribute="top" secondItem="nHZ-yn-vrn" secondAttribute="bottom" constant="48" id="V60-sk-nEh"/>
<constraint firstItem="yTU-AM-EWm" firstAttribute="centerY" secondItem="nHZ-yn-vrn" secondAttribute="centerY" id="WqC-eH-iQT"/>
<constraint firstItem="ANM-gF-Ryp" firstAttribute="bottom" secondItem="tPP-U6-2bl" secondAttribute="bottom" id="XL6-Zu-eNL"/> <constraint firstItem="ANM-gF-Ryp" firstAttribute="bottom" secondItem="tPP-U6-2bl" secondAttribute="bottom" id="XL6-Zu-eNL"/>
<constraint firstItem="yTU-AM-EWm" firstAttribute="leading" secondItem="nHZ-yn-vrn" secondAttribute="trailing" constant="15" id="XvL-SE-dcD"/>
<constraint firstItem="nHZ-yn-vrn" firstAttribute="leading" secondItem="68r-Mh-6Lh" secondAttribute="leading" constant="27" id="Zbu-cI-63r"/> <constraint firstItem="nHZ-yn-vrn" firstAttribute="leading" secondItem="68r-Mh-6Lh" secondAttribute="leading" constant="27" id="Zbu-cI-63r"/>
<constraint firstItem="yTU-AM-EWm" firstAttribute="trailing" secondItem="A3K-aS-MS2" secondAttribute="trailing" id="dds-cs-pwF"/>
<constraint firstAttribute="trailing" secondItem="Pxu-Ab-4LJ" secondAttribute="trailing" constant="36" id="esR-lk-6Xr"/> <constraint firstAttribute="trailing" secondItem="Pxu-Ab-4LJ" secondAttribute="trailing" constant="36" id="esR-lk-6Xr"/>
<constraint firstAttribute="height" constant="246" id="gQU-JZ-ibt"/> <constraint firstAttribute="height" constant="246" id="gQU-JZ-ibt"/>
<constraint firstItem="R2r-0B-die" firstAttribute="bottom" secondItem="bSs-G8-8iO" secondAttribute="bottom" id="jpL-X2-hXa"/> <constraint firstItem="R2r-0B-die" firstAttribute="bottom" secondItem="bSs-G8-8iO" secondAttribute="bottom" id="jpL-X2-hXa"/>
...@@ -118,6 +139,7 @@ ...@@ -118,6 +139,7 @@
<constraint firstItem="R2r-0B-die" firstAttribute="top" secondItem="jgg-NR-sol" secondAttribute="bottom" constant="12" id="nLo-BD-gSz"/> <constraint firstItem="R2r-0B-die" firstAttribute="top" secondItem="jgg-NR-sol" secondAttribute="bottom" constant="12" id="nLo-BD-gSz"/>
<constraint firstItem="tPP-U6-2bl" firstAttribute="centerX" secondItem="Pxu-Ab-4LJ" secondAttribute="centerX" id="nRm-WY-ClR"/> <constraint firstItem="tPP-U6-2bl" firstAttribute="centerX" secondItem="Pxu-Ab-4LJ" secondAttribute="centerX" id="nRm-WY-ClR"/>
<constraint firstItem="jgg-NR-sol" firstAttribute="centerY" secondItem="N8W-Jk-3QN" secondAttribute="centerY" id="v7X-bO-XBS"/> <constraint firstItem="jgg-NR-sol" firstAttribute="centerY" secondItem="N8W-Jk-3QN" secondAttribute="centerY" id="v7X-bO-XBS"/>
<constraint firstItem="A3K-aS-MS2" firstAttribute="bottom" secondItem="nHZ-yn-vrn" secondAttribute="bottom" id="x75-Fs-WpG"/>
</constraints> </constraints>
</view> </view>
</subviews> </subviews>
...@@ -133,6 +155,7 @@ ...@@ -133,6 +155,7 @@
<outlet property="accountBtn" destination="jsx-fR-l9y" id="Awo-Bf-d40"/> <outlet property="accountBtn" destination="jsx-fR-l9y" id="Awo-Bf-d40"/>
<outlet property="cardManagerBtn" destination="tPP-U6-2bl" id="cL3-eo-sNO"/> <outlet property="cardManagerBtn" destination="tPP-U6-2bl" id="cL3-eo-sNO"/>
<outlet property="qrcodeBtn" destination="bSs-G8-8iO" id="JCK-pd-5zV"/> <outlet property="qrcodeBtn" destination="bSs-G8-8iO" id="JCK-pd-5zV"/>
<outlet property="userBtn" destination="A3K-aS-MS2" id="04h-pt-zeA"/>
</connections> </connections>
<point key="canvasLocation" x="191.6030534351145" y="77.816901408450704"/> <point key="canvasLocation" x="191.6030534351145" y="77.816901408450704"/>
</collectionViewCell> </collectionViewCell>
......
...@@ -8,7 +8,11 @@ ...@@ -8,7 +8,11 @@
import UIKit import UIKit
class KJLoginPhoneViewController: KJBaseViewController { class KJLoginPhoneViewController: KJBaseViewController {
@IBOutlet weak var textfield: UITextField!
@IBOutlet weak var getVerificationBtn: UIButton!
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
...@@ -27,3 +31,9 @@ class KJLoginPhoneViewController: KJBaseViewController { ...@@ -27,3 +31,9 @@ class KJLoginPhoneViewController: KJBaseViewController {
*/ */
} }
extension KJLoginPhoneViewController: UITextFieldDelegate {
func textFieldDidChangeSelection(_ textField: UITextField) {
}
}
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
<objects> <objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="KJLoginPhoneViewController" customModule="iOS_2kj" customModuleProvider="target"> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="KJLoginPhoneViewController" customModule="iOS_2kj" customModuleProvider="target">
<connections> <connections>
<outlet property="getVerificationBtn" destination="34J-W8-awt" id="dDd-Tc-a15"/>
<outlet property="textfield" destination="8X1-Ib-w80" id="Ed0-a2-GfJ"/>
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
</connections> </connections>
</placeholder> </placeholder>
...@@ -50,7 +52,7 @@ ...@@ -50,7 +52,7 @@
<constraint firstAttribute="height" constant="50" id="ROJ-6n-0ip"/> <constraint firstAttribute="height" constant="50" id="ROJ-6n-0ip"/>
</constraints> </constraints>
<fontDescription key="fontDescription" type="system" pointSize="14"/> <fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/> <textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField> </textField>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="34J-W8-awt"> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="34J-W8-awt">
<rect key="frame" x="27.666666666666657" y="371.66666666666669" width="338" height="49"/> <rect key="frame" x="27.666666666666657" y="371.66666666666669" width="338" height="49"/>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论