Skip to content

Commit 70a5267

Browse files
committed
Add submit button in prgramatically added KWView
1 parent 5378750 commit 70a5267

2 files changed

Lines changed: 35 additions & 14 deletions

File tree

Example/KWVerificationCodeView/Base.lproj/Main.storyboard

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="vXZ-lx-hvc">
2+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="vXZ-lx-hvc">
33
<device id="retina4_7" orientation="portrait">
44
<adaptation id="fullscreen"/>
55
</device>
66
<dependencies>
77
<deployment identifier="iOS"/>
8-
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
8+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
99
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
1010
</dependencies>
1111
<scenes>
@@ -22,7 +22,7 @@
2222
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
2323
<subviews>
2424
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ekS-Ew-GpT" userLabel="verificationCodeView" customClass="KWVerificationCodeView" customModule="KWVerificationCodeView">
25-
<rect key="frame" x="33" y="273" width="310" height="62"/>
25+
<rect key="frame" x="32.5" y="272.5" width="310" height="62"/>
2626
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
2727
<constraints>
2828
<constraint firstAttribute="width" constant="310" id="SmR-e4-qbu"/>
@@ -38,7 +38,7 @@
3838
</userDefinedRuntimeAttributes>
3939
</view>
4040
<button opaque="NO" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Skh-28-8br" userLabel="submitButton">
41-
<rect key="frame" x="142.5" y="357" width="90" height="40"/>
41+
<rect key="frame" x="142.5" y="356.5" width="90" height="40"/>
4242
<color key="backgroundColor" red="1" green="0.5" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
4343
<constraints>
4444
<constraint firstAttribute="width" constant="90" id="AXu-JL-d2L"/>
@@ -61,26 +61,26 @@
6161
</connections>
6262
</button>
6363
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="KWVerificationCode Example" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6e0-Am-MUv" userLabel="titleLabel">
64-
<rect key="frame" x="16" y="159" width="343" height="24"/>
64+
<rect key="frame" x="16" y="158.5" width="343" height="24"/>
6565
<fontDescription key="fontDescription" style="UICTFontTextStyleTitle3"/>
6666
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
6767
<nil key="highlightedColor"/>
6868
</label>
6969
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Enter Code" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P6k-pN-VEP" userLabel="promptLabel">
70-
<rect key="frame" x="149" y="233" width="77" height="18"/>
70+
<rect key="frame" x="149" y="232.5" width="77" height="18"/>
7171
<fontDescription key="fontDescription" type="system" pointSize="15"/>
7272
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
7373
<nil key="highlightedColor"/>
7474
</label>
7575
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="z9m-CU-XT6">
76-
<rect key="frame" x="88" y="417" width="200" height="30"/>
76+
<rect key="frame" x="87.5" y="416.5" width="200" height="30"/>
7777
<state key="normal" title="Add Programatically Example"/>
7878
<connections>
7979
<segue destination="ViW-Wf-OWW" kind="presentation" id="PCu-5s-Oao"/>
8080
</connections>
8181
</button>
8282
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="XUw-3U-0Yz">
83-
<rect key="frame" x="266" y="362" width="34" height="30"/>
83+
<rect key="frame" x="266" y="361.5" width="34" height="30"/>
8484
<state key="normal" title="clear"/>
8585
<connections>
8686
<action selector="clearButtonTapped:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="h1q-Ts-lAH"/>
@@ -135,7 +135,7 @@
135135
<nil key="highlightedColor"/>
136136
</label>
137137
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EO4-xT-id3" userLabel="containerView">
138-
<rect key="frame" x="67" y="302.5" width="240" height="62"/>
138+
<rect key="frame" x="67.5" y="302.5" width="240" height="62"/>
139139
<color key="backgroundColor" red="1" green="0.5" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
140140
<constraints>
141141
<constraint firstAttribute="width" constant="240" id="ZKT-ZX-ywp"/>
@@ -147,8 +147,15 @@
147147
</userDefinedRuntimeAttribute>
148148
</userDefinedRuntimeAttributes>
149149
</view>
150-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a7r-Cg-pzE" userLabel="dismiss">
151-
<rect key="frame" x="160.5" y="414.5" width="54" height="30"/>
150+
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="EB9-dC-ITW" userLabel="submitButton">
151+
<rect key="frame" x="163" y="414" width="49" height="30"/>
152+
<state key="normal" title="Submit"/>
153+
<connections>
154+
<action selector="submitButtonTapped:" destination="ViW-Wf-OWW" eventType="touchUpInside" id="Ub7-Ld-fDk"/>
155+
</connections>
156+
</button>
157+
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a7r-Cg-pzE" userLabel="dismissButton">
158+
<rect key="frame" x="245" y="414.5" width="54" height="30"/>
152159
<state key="normal" title="Dismiss"/>
153160
<connections>
154161
<action selector="dismissButtonTapped:" destination="ViW-Wf-OWW" eventType="touchUpInside" id="XuZ-EC-sB8"/>
@@ -158,10 +165,12 @@
158165
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
159166
<constraints>
160167
<constraint firstItem="EO4-xT-id3" firstAttribute="centerX" secondItem="4Uy-b5-xy6" secondAttribute="centerX" id="7ZN-6l-dPq"/>
161-
<constraint firstItem="a7r-Cg-pzE" firstAttribute="centerX" secondItem="4Uy-b5-xy6" secondAttribute="centerX" id="8CX-Km-yfc"/>
162168
<constraint firstItem="f6U-8u-Nd6" firstAttribute="centerX" secondItem="4Uy-b5-xy6" secondAttribute="centerX" id="AdM-x2-67B"/>
169+
<constraint firstItem="EB9-dC-ITW" firstAttribute="centerX" secondItem="4Uy-b5-xy6" secondAttribute="centerX" id="BQm-8t-APK"/>
170+
<constraint firstItem="EB9-dC-ITW" firstAttribute="top" secondItem="EO4-xT-id3" secondAttribute="bottom" constant="49.5" id="a1j-gb-Md2"/>
163171
<constraint firstItem="a7r-Cg-pzE" firstAttribute="top" secondItem="EO4-xT-id3" secondAttribute="bottom" constant="50" id="idc-nu-If0"/>
164172
<constraint firstItem="EO4-xT-id3" firstAttribute="centerY" secondItem="4Uy-b5-xy6" secondAttribute="centerY" id="m5d-Xg-QG5"/>
173+
<constraint firstItem="a7r-Cg-pzE" firstAttribute="leading" secondItem="EB9-dC-ITW" secondAttribute="trailing" constant="33" id="rTs-74-MCt"/>
165174
<constraint firstItem="EO4-xT-id3" firstAttribute="top" secondItem="f6U-8u-Nd6" secondAttribute="bottom" constant="50" id="uVk-oY-Aj5"/>
166175
</constraints>
167176
</view>

Example/KWVerificationCodeView/ProgramaticalVerificationCodeViewController.swift

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,24 @@ class ProgramaticalVerificationCodeViewController: UIViewController {
1414
// MARK: - IBOutlets
1515
@IBOutlet weak var containerView: UIView!
1616

17+
// MARK: - Variables
18+
var verificationCodeView: KWVerificationCodeView?
19+
1720
// MARK: - Lifecycle
1821
override func viewDidLoad() {
1922
super.viewDidLoad()
2023

21-
let verificationCodeView = KWVerificationCodeView(frame: CGRect(x: 0, y: 0, width: 240, height: 60))
22-
containerView.addSubview(verificationCodeView)
24+
verificationCodeView = KWVerificationCodeView(frame: CGRect(x: 0, y: 0, width: 240, height: 60))
25+
containerView.addSubview(verificationCodeView!)
26+
}
27+
28+
@IBAction func submitButtonTapped(_ sender: Any) {
29+
if verificationCodeView!.hasValidCode() {
30+
let alertController = UIAlertController(title: "Success", message: "Code is \(verificationCodeView!.getVerificationCode())", preferredStyle: .alert)
31+
let okAction = UIAlertAction(title: "Ok", style: .default, handler: nil)
32+
alertController.addAction(okAction)
33+
present(alertController, animated: true, completion: nil)
34+
}
2335
}
2436

2537
@IBAction func dismissButtonTapped(_ sender: Any) {

0 commit comments

Comments
 (0)