2727import UIKit
2828import ICInputAccessory
2929
30- class CustomizedTokenViewController : UIViewController {
30+ class CustomizedTokenViewController : UIViewController , ICTokenFieldDelegate {
3131
3232 private let tokenField = CustomizedTokenField ( )
33+ private let textView = UITextView ( )
3334
3435 // MARK: - UIViewController
3536
3637 override func loadView( ) {
3738 super. loadView ( )
3839 view. backgroundColor = UIColor . whiteColor ( )
40+ textView. text = " [ \n \n ] " ;
41+ textView. font = UIFont . preferredFontForTextStyle ( UIFontTextStyleSubheadline)
42+ textView. frame = view. bounds. insetBy ( dx: 10 , dy: 10 )
43+ textView. autoresizingMask = [ . FlexibleWidth, . FlexibleHeight]
44+ view. addSubview ( textView)
3945 }
4046
4147 override func viewDidLoad( ) {
@@ -49,6 +55,7 @@ class CustomizedTokenViewController: UIViewController {
4955 navigationItem. rightBarButtonItem = cancelBarButton
5056
5157 navigationItem. titleView = tokenField
58+ tokenField. delegate = self
5259 }
5360
5461 override func viewWillAppear( animated: Bool ) {
@@ -59,6 +66,31 @@ class CustomizedTokenViewController: UIViewController {
5966 override func viewWillDisappear( animated: Bool ) {
6067 super. viewWillAppear ( animated)
6168 tokenField. resignFirstResponder ( )
69+ textView. endEditing ( true )
70+ }
71+
72+ // MARK: - ICTokenFieldDelegate
73+
74+ func tokenFieldDidBeginEditing( tokenField: ICTokenField ) {
75+ print ( __FUNCTION__)
76+ }
77+
78+ func tokenFieldDidEndEditing( tokenField: ICTokenField ) {
79+ print ( __FUNCTION__)
80+ }
81+
82+ func tokenFieldWillReturn( tokenField: ICTokenField ) {
83+ print ( __FUNCTION__)
84+ }
85+
86+ func tokenField( tokenField: ICTokenField , didEnterText text: String ) {
87+ print ( " Add: \" \( text) \" " )
88+ updateTexts ( )
89+ }
90+
91+ func tokenField( tokenField: ICTokenField , didDeleteText text: String , atIndex index: Int ) {
92+ print ( " Delete: \" \( text) \" " )
93+ updateTexts ( )
6294 }
6395
6496 // MARK: - UIResponder Callbacks
@@ -67,4 +99,10 @@ class CustomizedTokenViewController: UIViewController {
6799 presentingViewController? . dismissViewControllerAnimated ( true , completion: nil )
68100 }
69101
102+ // MARK: - Private Methods
103+
104+ private func updateTexts( ) {
105+ textView. text = " [ \n " + tokenField. texts. map { " \" " + $0 + " \" " } . joinWithSeparator ( " , \n " ) + " \n ] "
106+ }
107+
70108}
0 commit comments