From c576c138b6034906b3a9029e27324448c14821b8 Mon Sep 17 00:00:00 2001 From: Ivan Murashov Date: Wed, 25 Apr 2018 22:35:13 +0300 Subject: [PATCH] Menu for ios --- ios/Podfile | 10 +- .../xcschemes/xcschememanagement.plist | 6 +- .../UserInterfaceState.xcuserstate | Bin 55154 -> 40844 bytes .../more.imageset/Contents.json | 23 ++++ .../Assets.xcassets/more.imageset/more.png | Bin 0 -> 617 bytes .../Assets.xcassets/more.imageset/more@2x.png | Bin 0 -> 1895 bytes .../Assets.xcassets/more.imageset/more@3x.png | Bin 0 -> 1256 bytes ios/Runner/ScannerViewController.swift | 127 +++++++++++------- 8 files changed, 113 insertions(+), 53 deletions(-) create mode 100644 ios/Runner/Assets.xcassets/more.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/more.imageset/more.png create mode 100644 ios/Runner/Assets.xcassets/more.imageset/more@2x.png create mode 100644 ios/Runner/Assets.xcassets/more.imageset/more@3x.png diff --git a/ios/Podfile b/ios/Podfile index d75bb32..ae4d19c 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,6 +1,5 @@ # Uncomment this line to define a global platform for your project # platform :ios, '9.0' -pod 'ZXingObjC', '~> 3.2.2' if ENV['FLUTTER_FRAMEWORK_DIR'] == nil abort('Please set FLUTTER_FRAMEWORK_DIR to the directory containing Flutter.framework') @@ -9,6 +8,9 @@ end target ‘Runner’ do # Pods for Runner pod 'Firebase' + pod 'DropDown' + pod 'ZXingObjC' + use_frameworks! # Flutter Pods pod 'Flutter', :path => ENV['FLUTTER_FRAMEWORK_DIR'] @@ -31,6 +33,9 @@ end target ‘Dinect’ do # Pods for Dinect pod 'Firebase' + pod 'DropDown' + pod 'ZXingObjC' + use_frameworks! # Flutter Pods pod 'Flutter', :path => ENV['FLUTTER_FRAMEWORK_DIR'] @@ -53,6 +58,9 @@ end target ‘Crypto’ do # Pods for Crypto pod 'Firebase' + pod 'DropDown' + pod 'ZXingObjC' + use_frameworks! # Flutter Pods pod 'Flutter', :path => ENV['FLUTTER_FRAMEWORK_DIR'] diff --git a/ios/Runner.xcodeproj/xcuserdata/kifio.xcuserdatad/xcschemes/xcschememanagement.plist b/ios/Runner.xcodeproj/xcuserdata/kifio.xcuserdatad/xcschemes/xcschememanagement.plist index dc16213..35d5e91 100644 --- a/ios/Runner.xcodeproj/xcuserdata/kifio.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/ios/Runner.xcodeproj/xcuserdata/kifio.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ BioChecker.xcscheme orderHint - 14 + 15 Dinect INT.xcscheme_^#shared#^_ @@ -17,7 +17,7 @@ Dinect-Crypto.xcscheme_^#shared#^_ orderHint - 5 + 3 Dinect.xcscheme @@ -27,7 +27,7 @@ Dinect.xcscheme_^#shared#^_ orderHint - 13 + 12 Runner.xcscheme_^#shared#^_ diff --git a/ios/Runner.xcworkspace/xcuserdata/kifio.xcuserdatad/UserInterfaceState.xcuserstate b/ios/Runner.xcworkspace/xcuserdata/kifio.xcuserdatad/UserInterfaceState.xcuserstate index bd3237694b36412ef35c7f36c5f61ff1c397989f..900e8459f0ab4b0525e17be372727cc5608f38df 100644 GIT binary patch delta 22268 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 bS5-5rJD+bIFHrmA0YRAJ%lEIJs(b$haO%v> diff --git a/ios/Runner/Assets.xcassets/more.imageset/Contents.json b/ios/Runner/Assets.xcassets/more.imageset/Contents.json new file mode 100644 index 0000000..e5fe489 --- /dev/null +++ b/ios/Runner/Assets.xcassets/more.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "filename" : "more.png", + "scale" : "1x" + }, + { + "idiom" : "iphone", + "filename" : "more@2x.png", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "filename" : "more@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ios/Runner/Assets.xcassets/more.imageset/more.png b/ios/Runner/Assets.xcassets/more.imageset/more.png new file mode 100644 index 0000000000000000000000000000000000000000..4bd79cdc7bf8fc90efee74ff3f8a1f2d9928b3fb GIT binary patch literal 617 zcmV-v0+#)WP)Yg|8frih@GABAEg*a;S5r9~|L3leZfh?RfADufvc*jm~Ng4mcsOe+LL zP(-YvP4;duW@UGd%&rL;o!J@oT-XF=>U-{ac+Z(T?>%F1^@MT?y6Zq=xTPR8n`c-$ z@!drV<6;v6`xe9X+`UBJ6Z==SdGw&c<~$}@9t$EoB=#0Huns_NA49VQVnE~_nl5N) zr4m5osYFo)4*_e?Y@J*v`VqJ^zWnly$Uj@DMG6+_LGMbF)7{^@=jZ>464u%+R!o1o zplSAda*US!0p@rHM%c!-XL)9RY9P~Cy`p;w<~PnU)0jgr4CE!t{ueFaPP|)CS5!Is z)S#}#trgwBiiY+D!W`!BNs{_eBd>}4+b*Epls@cifbk1}Hi^8p7FG|MDhYQ=KA|f_ z{!I<69yGAYZn=v{(l&^_(G_LFM-N)tJl8hw;FP}e3e2sN)_X_f<=;{(_N=}~(?p@| z0w;5Gifj@4S^HNJZtpTTphMWs8^qkm9{8+km8@;v1XZmR;;!_S(oMdo2Ay2H{7AQo z?)%H#f*hsaP3NHhoTc)Mo;S-=v!zv7ujpt1(SyQ?Uc!3&Fwf0E1FHuO><0{&OCY`y zdFQ7KTH8F=Ht)bF8dMsMCq!P^_&>tCk(_5lr+#%4+65l{Tb(|wsnesmSMR^Uh1 zi2W-X$TU{3=nlcc_67RAPnjQLGp&m(9{H?=OymCmO^m54Z>K}#00000NkvXXu0mjf DKxHJ9 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/more.imageset/more@2x.png b/ios/Runner/Assets.xcassets/more.imageset/more@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0f314bb1fa8f2f65e055e414997be36cd216d1c7 GIT binary patch literal 1895 zcmV-t2blPYP)PcQ$;ck(#2mluChqfZzcMM0n^+sh|&rlopXt8WgWLA`)s54}6He z(DGI7*lt~DfshC={g6;WDk`9~4^fLs3xqb2=*LTdIEi<5ZH%4WIn}svWd$$EoxPK} zmFB+sp8uZnyJu#0uFpLyxHvXz4?W?9c)A{ytAWoToCzF4`3HEv!Ha&!yZ)O@%7SYl zh-(h9W#$VMTR#A~6s3%?vX4rL=$}!(OHh8zr8wMydXE-46kdgTPawM50MZl@8#z*X zi3vGkV3*odcc50oZvYd(K!RxJQK=A=9!p?r-NX&3!{KM~t#rM=cE z846|(b>lxzVQ|$SKrS})eWmGpDVDy>!!l<GOCaO`)W+k8-ju-iPB+!(sFjE8>6t5K54AeI5%nHLD44syf`vv~ z30BptXeAVJ0BZ9ri1q+yC5&O2na7hk7iKX0u8i#PD7P+9Y0nt&A(($8;fqGTm8hnCRrFH!ICufFRP?uu9ZMsZL zZU?y%^ju^S@TtIuC=KA>i0-1r{fw8VPY$XR{}eZ&F8RMvPhoIokR$WG^mzs5qc%N# z3%pmKVe*ri?wNiZVz;55cyc&3Gl!bOa^z5Rs3{OgK{C(O9BK*#Qjp9uHHVr4ffOY3 zOwFODKp+K4H#2qf{(gGsVVy*-CQY`%>>%z39 zwQ&dPNOKs`M?iZLBu+%6cQRVOKY^`v6E~nPUh?|9VTK+HqfX>q!|32H>y!)yvxgc# zl=}ML2Kkhs?<-9|OkZg&56G+qt;7=9LmjCPA>NLJm;DNX%O+~2#}gB=VCVqUa1_{L zuRfJ034DtcFXogTfLebY5qtHd${qs$0&^7hEF6FuzK?LWy^uIa&9_kPlH8;0p;p7Z zJ~jFJb+D|42kg{Q{ZIc8H9tObnb~k4Q|o^L`JzPvZ&UN_)w?Ee%mJv4AA{bS!1qoj zJE-~JvZ!Y)l|9sv`t^uB1r&|FU&$cS?=V_^)QVO@k?f&v)_(dL?*Jx;d^?1zAJF#C zVN7Nc@~~o-J=8di;pTb@(Jz5=7g056>kwn*-*%y4#ncU`aVXXBHsHZ7>QnC`@Z)X6 z%!fNrx9O=Ygj?|>F8npg*apf2gmVwEeRZZADNC#A4%8)&D$OhKqFg&HS#|odY@4 z?)a@}okPu`ra&MC$vjhYs3{OgK{C(O9BK*#Qjp9uHHVr4ffOX&&eZs<>gVXCb+ACO z;L&PF6whq4j|G>`q8__0ZbGeU2@QuA>r+L~M`aa4Kg0)onFiU1M7x+T*O(9|PENbK zp>mIU9GJNluN^m3h>LuWGZs5he4D8ko@Mg7_VH$)tiQXHslx{bDD>TjatmVA?lay) zeUihiJJ@kXe8M{O;SSVFco!abC*Jvw^oNZ4-^)8wEalXe#hY6)lf{pGhMK>@qMor-_L*9(zX@Wqo^&rY|MSKqEE+ffHJpOQA4aeQZ!-*^BU6aii`F zQ3g7HE6`bxztQTcGTy&C4LC_P-GdrOQq?|aUJCJV{PC6l_E3$xRme0N_fF*{@Lq<2 h-PFX1>|DM8{{aYH^JOi(Z4dwe002ovPDHLkV1h;So|pgt literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/more.imageset/more@3x.png b/ios/Runner/Assets.xcassets/more.imageset/more@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..90a0ca1370bf7ef1e696dadc855af50bc70d98a1 GIT binary patch literal 1256 zcma*nX;4#F6ae7+l9%K`AOzWE3rGb-7Ny!^6dn*(6{x8qh$bopEKrz80S)LQl(iyZ zFDfNi8L6nGtu}xVSxgLKL)0=7K#>xR)&i|5#jt2YJN@4u=boAK!H z*XjcR48uYhdvqCF4TPvW`+W}&0syy#G5kNyJ~Y$dmt^X1D!mXw4-YKSw?bx!JXJYC}j<0xhY4SKXtA(=fx5o5l-C&|B?Y2wU$~uaDVn>){=Pc zS7nTN;nYGx=JReVQZ4JzTmh>Ss6Bh9oGzS)msN#1B4o~D@^`(b-Cvx~E~{PoiM=-Q zkZPu}YCo%+RPKh+EiXUz?4KkAOJ}DZo1`EusP`i@OtGMa&;RRR8vfbQwz9+3BrMGJyPEbETVuVS{nd$2^7(MoS z!wPPB(R8%Pw{~of&HaIZzEPLI)kcXm-p*RW)ft~u*EJ&$`{@1C%-E54kL|q;NZlox zeb3=ckd%@5EM4RY4NpO%H(!doUisa=Lj;q|wAA_Jx5`sjYF6}v@1Bi$!?*$UT$3}i zvvv%Z6^zpTzPvkcU9f1$D{3`D_fG~caF-n;WA-f!qBH5k(FVHWH(X>U~Q3v7Kl(R4Y!NmqMtf~=O;rqs31cAYNDT#1XDnoQZ7 z3(h?m0%wh6T`a|w21~`QohPnAVA~*O?I~G1(D24Cc3x&HRmqoLW56Xo0g964G;hD^ zAmCfI+C%T_Ig!xDJQYZCD7FFagep8$mF(^E0X*CY6JL%}){|(m=zvfUB!z*|4!Ryz z0azQZzq_y}0+wBJbKkCq{@LJ+@1HuU|yS zBVjGZ6>SyZnMP|a!J&YE0E-hlVt^(B9XUY&LO+8z+EReS#&N3GW)KWI2(oE690E9G z{$Mmr1uAn|-H-`XO$|6ly;$w_u-fa11$9fi(gv5oLaQ}_>$srB%V|{m7l=BxzfzM5 z34T$;tH*HY^yD4z0xOP_i%g&lhQTJV&1r*3lga?LCLt7zQmX4eL{f|G5C`M1A@u=M^8YkxLuf$ej(V_+|3&qUgrfqGV*$l``a+p~I-8%LB^*aq zAD0`I{RRp8_(|$9JlcFXOfDi|rGZrqX=G4SWP%sq9XUP|5wOB|lMamEGAY#A67JgjS&(@TXNM1vBT#AjKZ9RfDbh zoWQ7+p&r`7vEF~?1{omal_AtiZttD3!Dy_orUB|m38>F#E^zi|8(|yQybxn9)D)c1 x$65E`TWq!kwyV7~FpJUS3+i)fiqgn^EW=BR#+I*K#&sJEgat(~t_QGre*^u_7PtTa literal 0 HcmV?d00001 diff --git a/ios/Runner/ScannerViewController.swift b/ios/Runner/ScannerViewController.swift index 0b9cee5..e4b1b97 100644 --- a/ios/Runner/ScannerViewController.swift +++ b/ios/Runner/ScannerViewController.swift @@ -1,5 +1,7 @@ import UIKit import Flutter +import DropDown +import ZXingObjC @objc class ScannerViewController: UIViewController, ZXCaptureDelegate, UITextFieldDelegate { @@ -28,27 +30,17 @@ import Flutter } } - // @IBOutlet weak var decodedLabel: UILabel! - - private var captureSizeTransform: CGAffineTransform? - + var captureSizeTransform: CGAffineTransform? var buttonState: ButtonState = .card - var platformChannel: FlutterMethodChannel? - - // Квадрат для наведения на цель (надеюсь) - let scanRectView = UIView() - - //Вьюшка для верхнего меню - let topView = UIView() - - //Окно ввода кода - let textField = UITextField() - - //Кнопка настроек - var settingButton: UIButton! - var strings = [String:String]() + + let scanRectView = UIView() + let header = UIView() + let textField = UITextField() + let settingsButton = UIButton(type: .system) + let searchType = UIButton(type: .system) + let dropDown = DropDown() required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) @@ -84,32 +76,78 @@ import Flutter override func viewDidLoad() { super.viewDidLoad() - capture.camera = capture.back() - capture.focusMode = .continuousAutoFocus + view.layer.addSublayer((capture.layer)!) view.addSubview(scanRectView) + view.addSubview(header) + view.bringSubview(toFront: header) + view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(ScannerViewController.hideKeyboard))) - settingButton = UIButton(type: .system) - settingButton.addTarget(self, action: #selector(ScannerViewController.buttonTouch), for: .touchUpInside) - - topView.addSubview(textField) - topView.addSubview(settingButton) - view.addSubview(topView) - view.bringSubview(toFront: topView) - + initCamera() + initSearchTypeButton() + initTextFIeld() + initSettingsButton() + initDropDown() + initHeader() + } + + private func initCamera() { + capture.camera = capture.back() + capture.focusMode = .continuousAutoFocus + } + + private func initHeader() { + header.addSubview(textField) + header.addSubview(searchType) + header.addSubview(settingsButton) + } + + private func initTextFIeld() { textField.delegate = self - - let tap = UITapGestureRecognizer(target: self, action: #selector(ScannerViewController.hideKeyboard)) - view.addGestureRecognizer(tap) - - settingButton.setImage(self.buttonState.icon, for: .normal) textField.placeholder = self.getInputHint() - // textField.text = "79087654321" + } + + private func initSearchTypeButton() { + searchType.setImage(self.buttonState.icon, for: .normal) + searchType.addTarget(self, action: #selector(ScannerViewController.buttonTouch), for: .touchUpInside) + } + + private func initDropDown() { + dropDown.anchorView = settingsButton + dropDown.dataSource = [strings["settings"]!, strings["faq"]!] + dropDown.selectionAction = { (index: Int, item: String) in + if index == 0 { + self.platformChannel?.invokeMethod("settings", arguments: nil) + } else if index == 1 { + self.platformChannel?.invokeMethod("faq", arguments: nil) + } + + self.dismiss(animated: false) + } + } + + private func initSettingsButton() { + settingsButton.setImage(UIImage(named: "more")!, for: .normal) + settingsButton.addTarget(self, action: #selector(ScannerViewController.settingsTouch), for: .touchUpInside) + } + + func hideKeyboard() { + view.endEditing(false) + } + + func buttonTouch() { + setButtonState() + searchType.setImage(self.buttonState.icon, for: .normal) + textField.placeholder = self.getInputHint() + } + + func settingsTouch() { + dropDown.show() } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) - topView.backgroundColor = UIColor.white + header.backgroundColor = UIColor.white textField.borderStyle = .roundedRect capture.delegate = self applyOrientation() @@ -118,11 +156,12 @@ import Flutter // TODO: Вынести эту копипасту в методы, когда будет время override func viewWillLayoutSubviews() { + // TODO: Надо бы уйти от констант, переписать на отступы какие-нибудь scanRectView.frame = view.bounds - topView.frame = CGRect(x: 0, y: 0, width: view.frame.size.width, height: 56) - settingButton.frame = CGRect(x: 8, y: 26, width: 20, height: 20) - textField.frame = CGRect(x: settingButton.frame.maxX + 8, y: 21, - width: view.frame.size.width - settingButton.frame.maxX - 16, height: 30) + header.frame = CGRect(x: 0, y: 0, width: view.frame.size.width, height: 56) + searchType.frame = CGRect(x: 8, y: 26, width: 20, height: 20) + textField.frame = CGRect(x: searchType.frame.maxX + 8, y: 21, width: view.frame.size.width - searchType.frame.maxX - 48, height: 30) + settingsButton.frame = CGRect(x: view.frame.size.width - 30, y: 26, width: 20, height: 20) var path = UIBezierPath() path.move(to: CGPoint(x: 32, y: view.frame.size.height / 2)) @@ -219,16 +258,6 @@ import Flutter } - func hideKeyboard() { - view.endEditing(false) - } - - func buttonTouch(){ - setButtonState() - settingButton.setImage(self.buttonState.icon, for: .normal) - textField.placeholder = self.getInputHint() - } - func textFieldShouldReturn(_ textField: UITextField) -> Bool { print("User from manual input: \(textField.text!)") sendResult(textField.text!)