-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathViewController.swift
More file actions
101 lines (80 loc) · 3.32 KB
/
Copy pathViewController.swift
File metadata and controls
101 lines (80 loc) · 3.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
//
// ViewController.swift
// ALFormInput
//
// Created by sonifex on 04/13/2020.
// Copyright (c) 2020 sonifex. All rights reserved.
//
import UIKit
import ALFormInput
import SwiftValidatorNew
import AlExtensions
import FontAwesome_swift
struct Person: Codable, ALPickable {
var stringForShowingInPickerView: String? {
return name
}
let name: String?
let age: Int?
}
class ViewController: UIViewController {
@IBOutlet weak var emailTextField: ALValidatableTextField!
@IBOutlet weak var passwordTextField: ALValidatableTextField!
@IBOutlet weak var nameTextField: ALValidatableTextField!
@IBOutlet weak var surnameTextfield: ALValidatableTextField!
@IBOutlet weak var phoneTextField: ALValidatableTextField!
@IBOutlet weak var creditCardNumberTextField: ALValidatableTextField!
@IBOutlet weak var tcIdentityNoTextField: ALValidatableTextField!
@IBOutlet weak var datePicker: ALDatePicker!
@IBOutlet weak var objectPicker: ALObjectPicker!
@IBOutlet weak var monthAndYearPicker: ALMonthAndYearPicker!
let persons = [Person(name: "Ahmet", age: 15), Person(name: "Mehmet", age: 16), Person(name: "Soner", age: 57)]
override func viewDidLoad() {
super.viewDidLoad()
setupTextFields()
}
private func setupTextFields() {
emailTextField.setTypesAndRules(.email)
emailTextField.fontAwesomeImage = .envelope
passwordTextField.setTypesAndRules(.password)
nameTextField.setTypesAndRules(.name)
nameTextField.fontAwesomeImage = .user
surnameTextfield.setTypesAndRules(.surname)
surnameTextfield.fontAwesomeImage = .user
// Set spesific configuration
let config = ALTextFieldConfig()
config.errorColor = .purple
phoneTextField.setConfig(config)
phoneTextField.setTypesAndRules(.phoneNumber)
phoneTextField.fontAwesomeImage = .mobileAlt
phoneTextField.fontAwesomeStyle = .solid
phoneTextField.setFormattedPhoneNumber("+905318888741")
creditCardNumberTextField.setTypesAndRules(.creditCardNumber)
tcIdentityNoTextField.setTypesAndRules(.tcIdentityNo)
// Date picker
datePicker.setConfig()
datePicker.title = "Doğum Tarihi"
datePicker.placeholder = "Doğum Tarihi için tıklayınız"
datePicker.setupPicker(pickerMode: .date, dateShowFormat: "d MMMM yyyy")
datePicker.datePickerDelegate = self
objectPicker.title = "Yolcular"
objectPicker.placeholder = "Yolcu seçmek için tıklayınız"
objectPicker.setupPicker(objects: persons)
objectPicker.objectPickerDelegate = self
monthAndYearPicker.title = "Son Kullanma Tarihi"
monthAndYearPicker.placeholder = "Son Kullanma Tarihini Seçiniz"
monthAndYearPicker.datePickerDelegate = self
}
}
// MARK: - ALDatePickerDelegate'
extension ViewController: ALDatePickerDelegate {
func didSelectDate(_ view: ALDatePicker, selectedDate: Date) {
// You can handle selected date
}
}
// MARK: - ALObjectPickerDelegate'
extension ViewController: ALObjectPickerDelegate {
func didSelectObject(_ view: ALObjectPicker, selectedObject: ALPickable, selectedIndex: Int) {
// You can handle selected object
}
}