Commit 900acef13065a417f18cd072df291a1728ed05b0
1 parent
2f4fbc0b
Exists in
parentassistant
优化登录页面键盘输入
Showing
6 changed files
with
178 additions
and
149 deletions
Show diff stats
ParentAssistant/ParentAssistant.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/xcschememanagement.plist
ParentAssistant/ParentAssistant.xcworkspace/xcuserdata/caoyang.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ParentAssistant/ParentAssistant/Classes/controllers/my/Controller/LoginViewController.swift
... | ... | @@ -8,31 +8,49 @@ |
8 | 8 | |
9 | 9 | import UIKit |
10 | 10 | //登录 |
11 | -class LoginViewController: UIViewController,UITextFieldDelegate { | |
12 | - @IBOutlet var topView: NSLayoutConstraint! | |
11 | +class LoginViewController: UIViewController,UITextFieldDelegate,UIScrollViewDelegate { | |
12 | + | |
13 | + @IBOutlet weak var scrollView: UIScrollView! | |
13 | 14 | @IBOutlet var iconImageView: UIImageView!//系统头像 |
14 | 15 | @IBOutlet var phoneTextField: UITextField!//电话号码 |
15 | 16 | @IBOutlet var passwordTextField: UITextField!//密码 |
16 | 17 | @IBOutlet var passwordHiddenBtn: UIButton!//查看密码按钮 |
17 | 18 | @IBOutlet var loginBtn: UIButton! |
19 | + | |
20 | + var keyShow = Bool() | |
18 | 21 | override func viewDidLoad() { |
19 | 22 | super.viewDidLoad() |
23 | + | |
24 | + self.scrollView.contentSize = CGSize.init(width: 0, height: screenHeight) | |
25 | + | |
20 | 26 | layoutSubViews() |
21 | - | |
27 | + | |
28 | + self.phoneTextField.addTarget(self, action: #selector(textFieldChange), for: UIControlEvents.editingChanged) | |
29 | + self.passwordTextField.addTarget(self, action: #selector(textFieldChange), for: UIControlEvents.editingChanged) | |
30 | + | |
22 | 31 | } |
23 | - override func loadView() { | |
24 | - super.loadView() | |
25 | - //防止tabbar隐藏导致页面跳一下 | |
26 | - self.tabBarController?.tabBar.isHidden = true | |
27 | - self.navigationController?.setNavigationBarHidden(false, animated: true) | |
32 | + | |
33 | + func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) { | |
34 | + | |
35 | + phoneTextField.resignFirstResponder() | |
36 | + passwordTextField.resignFirstResponder() | |
28 | 37 | } |
29 | - override func viewWillAppear(_ animated: Bool) { | |
30 | - super.viewWillAppear(animated) | |
38 | + | |
39 | + //监听输入长度,显示登录按钮状态 | |
40 | + @objc func textFieldChange(){ | |
41 | + if (phoneTextField.text?.count)!>0 && (passwordTextField.text?.count)!>0 { | |
42 | + loginBtn.isUserInteractionEnabled = true | |
43 | + loginBtn.backgroundColor = navigationColor | |
44 | + }else{ | |
45 | + loginBtn.isUserInteractionEnabled = false | |
46 | + loginBtn.backgroundColor = UIColor.lightGray | |
47 | + } | |
31 | 48 | } |
49 | + | |
32 | 50 | // MARK: - 设置控件属性 |
33 | 51 | func layoutSubViews(){ |
34 | 52 | self.navigationItem.title = "登录" |
35 | - topView.constant = (getScreenHeight()-325)/3 | |
53 | + | |
36 | 54 | passwordHiddenBtn.setImage(UIImage(named: "my_password_look"), for: UIControlState.selected) |
37 | 55 | NotificationCenter.default.addObserver(self, selector: #selector(LoginViewController.keyboardWIllChange(_:)), name: NSNotification.Name.UIKeyboardWillChangeFrame, object: nil) |
38 | 56 | NotificationCenter.default.addObserver(self, selector: #selector(LoginViewController.getPhoneNumber(_:)), name: NSNotification.Name(rawValue: MyPhoneNumberNotification.getPhoneNumber), object: nil) |
... | ... | @@ -41,10 +59,15 @@ class LoginViewController: UIViewController,UITextFieldDelegate { |
41 | 59 | @objc func keyboardWIllChange(_ noti: Notification){ |
42 | 60 | let userInfo:NSDictionary=noti.userInfo! as NSDictionary |
43 | 61 | let endFrame=(userInfo[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue |
62 | + | |
44 | 63 | if endFrame?.origin.y == getScreenHeight() { |
45 | - topView.constant = (getScreenHeight()-325)/3 | |
64 | + UIView.animate(withDuration: 0.5) { | |
65 | + self.scrollView.setContentOffset(CGPoint.init(x: 0, y: 0), animated: true) | |
66 | + } | |
46 | 67 | }else{ |
47 | - topView.constant = (endFrame?.origin.y)!-375 | |
68 | + UIView.animate(withDuration: 0.5) { | |
69 | + self.scrollView.setContentOffset(CGPoint.init(x: 0, y:80), animated: true) | |
70 | + } | |
48 | 71 | } |
49 | 72 | } |
50 | 73 | @objc func getPhoneNumber(_ noti: Notification){ |
... | ... | @@ -58,23 +81,9 @@ class LoginViewController: UIViewController,UITextFieldDelegate { |
58 | 81 | passwordHiddenBtn.isSelected = !selected |
59 | 82 | passwordTextField.isSecureTextEntry = selected |
60 | 83 | } |
61 | - // MARK: - 设置键盘消失 | |
62 | - override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { | |
63 | - self.view.endEditing(true) | |
64 | - } | |
65 | 84 | // MARK: - UITextFieldDelegate |
66 | 85 | func textFieldShouldReturn(_ textField: UITextField) -> Bool { |
67 | - self.view.endEditing(true) | |
68 | - return true | |
69 | - } | |
70 | - func textFieldDidEndEditing(_ textField: UITextField) { | |
71 | - if textField==passwordTextField && phoneTextField.text! != "" && passwordTextField.text! != ""{ | |
72 | - loginBtn.isUserInteractionEnabled = true | |
73 | - loginBtn.backgroundColor = UIColorFromRGB(0xC5DAFF) | |
74 | - }else{ | |
75 | - loginBtn.isUserInteractionEnabled = false | |
76 | - loginBtn.backgroundColor = UIColor.lightGray | |
77 | - } | |
86 | + return textField.resignFirstResponder() | |
78 | 87 | } |
79 | 88 | func isMobilePhoneNumber(_ mobile:String)->Bool { |
80 | 89 | let str="^1[0-9]{10}" | ... | ... |
ParentAssistant/ParentAssistant/Classes/controllers/my/Controller/My.storyboard
... | ... | @@ -7,6 +7,7 @@ |
7 | 7 | <deployment identifier="iOS"/> |
8 | 8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/> |
9 | 9 | <capability name="Aspect ratio constraints" minToolsVersion="5.1"/> |
10 | + <capability name="Constraints to layout margins" minToolsVersion="6.0"/> | |
10 | 11 | <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/> |
11 | 12 | <capability name="Safe area layout guides" minToolsVersion="9.0"/> |
12 | 13 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
... | ... | @@ -538,7 +539,7 @@ |
538 | 539 | </viewController> |
539 | 540 | <placeholder placeholderIdentifier="IBFirstResponder" id="9E0-qX-4XP" userLabel="First Responder" sceneMemberID="firstResponder"/> |
540 | 541 | </objects> |
541 | - <point key="canvasLocation" x="150" y="-72"/> | |
542 | + <point key="canvasLocation" x="954" y="-72"/> | |
542 | 543 | </scene> |
543 | 544 | <!--Login View Controller--> |
544 | 545 | <scene sceneID="ohO-Zi-TBy"> |
... | ... | @@ -548,14 +549,16 @@ |
548 | 549 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
549 | 550 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
550 | 551 | <subviews> |
551 | - <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iNa-Xg-qR8"> | |
552 | - <rect key="frame" x="0.0" y="148" width="375" height="325"/> | |
552 | + <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="x1J-ue-QsP"> | |
553 | + <rect key="frame" x="0.0" y="20" width="375" height="647"/> | |
553 | 554 | <subviews> |
554 | 555 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="defphoto" translatesAutoresizingMaskIntoConstraints="NO" id="MuP-eU-u8t"> |
555 | - <rect key="frame" x="157.5" y="0.0" width="60" height="60"/> | |
556 | + <rect key="frame" x="157" y="114" width="60" height="60"/> | |
556 | 557 | <constraints> |
557 | - <constraint firstAttribute="width" secondItem="MuP-eU-u8t" secondAttribute="height" multiplier="1:1" id="2dS-lO-wew"/> | |
558 | - <constraint firstAttribute="width" constant="60" id="vbp-ai-Bpn"/> | |
558 | + <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="60" id="6n8-Tt-z8Q"/> | |
559 | + <constraint firstAttribute="height" constant="60" id="O0t-sJ-e4W"/> | |
560 | + <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="60" id="Pro-uk-uVK"/> | |
561 | + <constraint firstAttribute="width" constant="60" id="UxO-hd-HqB"/> | |
559 | 562 | </constraints> |
560 | 563 | <userDefinedRuntimeAttributes> |
561 | 564 | <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/> |
... | ... | @@ -564,17 +567,89 @@ |
564 | 567 | </userDefinedRuntimeAttribute> |
565 | 568 | </userDefinedRuntimeAttributes> |
566 | 569 | </imageView> |
570 | + <button opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8rh-jr-h8p"> | |
571 | + <rect key="frame" x="8" y="368" width="359" height="40"/> | |
572 | + <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | |
573 | + <constraints> | |
574 | + <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="40" id="gCr-80-H7C"/> | |
575 | + <constraint firstAttribute="height" constant="40" id="wEQ-N3-d1h"/> | |
576 | + </constraints> | |
577 | + <state key="normal" title="登录"> | |
578 | + <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
579 | + </state> | |
580 | + <userDefinedRuntimeAttributes> | |
581 | + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/> | |
582 | + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | |
583 | + <integer key="value" value="5"/> | |
584 | + </userDefinedRuntimeAttribute> | |
585 | + </userDefinedRuntimeAttributes> | |
586 | + <connections> | |
587 | + <action selector="loginAction:" destination="UG5-bJ-YrY" eventType="touchUpInside" id="iFr-Mi-Wiq"/> | |
588 | + <action selector="registerAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="WOZ-cY-Gu9"/> | |
589 | + </connections> | |
590 | + </button> | |
591 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="X9h-K7-0bg"> | |
592 | + <rect key="frame" x="8" y="419" width="359" height="19"/> | |
593 | + <subviews> | |
594 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="还没有账号,快速" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fRW-Sg-QbI"> | |
595 | + <rect key="frame" x="0.0" y="0.0" width="115" height="20"/> | |
596 | + <constraints> | |
597 | + <constraint firstAttribute="width" constant="115" id="Dgm-aw-qIM"/> | |
598 | + <constraint firstAttribute="height" constant="20" id="ORK-yo-OGM"/> | |
599 | + </constraints> | |
600 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
601 | + <color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | |
602 | + <nil key="highlightedColor"/> | |
603 | + </label> | |
604 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fzA-Ya-qRu"> | |
605 | + <rect key="frame" x="114" y="0.0" width="101" height="20"/> | |
606 | + <constraints> | |
607 | + <constraint firstAttribute="height" constant="20" id="F9q-1g-471"/> | |
608 | + <constraint firstAttribute="width" constant="101" id="qIb-br-7HL"/> | |
609 | + </constraints> | |
610 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
611 | + <state key="normal" title="注册"/> | |
612 | + <connections> | |
613 | + <action selector="registerAction:" destination="UG5-bJ-YrY" eventType="touchUpInside" id="g4z-aO-EME"/> | |
614 | + </connections> | |
615 | + </button> | |
616 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Bh4-Vg-DUl"> | |
617 | + <rect key="frame" x="215" y="0.0" width="144" height="20"/> | |
618 | + <constraints> | |
619 | + <constraint firstAttribute="height" constant="20" id="2bO-CK-qew"/> | |
620 | + <constraint firstAttribute="width" constant="144" id="gUO-us-cbE"/> | |
621 | + </constraints> | |
622 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
623 | + <state key="normal" title="忘记密码"/> | |
624 | + <connections> | |
625 | + <action selector="getPasswordAction:" destination="UG5-bJ-YrY" eventType="touchUpInside" id="EJR-6a-h6E"/> | |
626 | + <action selector="loginAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="WkS-hX-ran"/> | |
627 | + </connections> | |
628 | + </button> | |
629 | + </subviews> | |
630 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
631 | + <constraints> | |
632 | + <constraint firstItem="fzA-Ya-qRu" firstAttribute="top" secondItem="X9h-K7-0bg" secondAttribute="top" id="2Du-1p-xB8"/> | |
633 | + <constraint firstItem="Bh4-Vg-DUl" firstAttribute="top" secondItem="X9h-K7-0bg" secondAttribute="top" id="5js-yF-eZS"/> | |
634 | + <constraint firstItem="Bh4-Vg-DUl" firstAttribute="leading" secondItem="fzA-Ya-qRu" secondAttribute="trailing" id="9qB-Dc-apn"/> | |
635 | + <constraint firstAttribute="trailing" secondItem="Bh4-Vg-DUl" secondAttribute="trailing" id="Aaq-mF-JsK"/> | |
636 | + <constraint firstItem="fRW-Sg-QbI" firstAttribute="top" secondItem="X9h-K7-0bg" secondAttribute="top" id="CCF-PJ-FpK"/> | |
637 | + <constraint firstAttribute="height" constant="19" id="e0a-IV-YHe"/> | |
638 | + <constraint firstItem="fRW-Sg-QbI" firstAttribute="leading" secondItem="X9h-K7-0bg" secondAttribute="leading" id="qGZ-a2-zCp"/> | |
639 | + <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="19" id="t8g-9K-SwO"/> | |
640 | + </constraints> | |
641 | + </view> | |
567 | 642 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="l2y-yF-IxJ"> |
568 | - <rect key="frame" x="0.0" y="110" width="375" height="80"/> | |
643 | + <rect key="frame" x="0.0" y="283" width="375" height="80"/> | |
569 | 644 | <subviews> |
570 | 645 | <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入手机号" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="zJR-4G-Ym9"> |
571 | 646 | <rect key="frame" x="8" y="0.0" width="359" height="30"/> |
572 | 647 | <constraints> |
573 | - <constraint firstAttribute="height" constant="30" id="xRq-Ob-tzt"/> | |
648 | + <constraint firstAttribute="height" constant="30" id="CGb-2G-Jjh"/> | |
574 | 649 | </constraints> |
575 | 650 | <nil key="textColor"/> |
576 | 651 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
577 | - <textInputTraits key="textInputTraits" returnKeyType="done"/> | |
652 | + <textInputTraits key="textInputTraits" keyboardType="numbersAndPunctuation" returnKeyType="done"/> | |
578 | 653 | <connections> |
579 | 654 | <outlet property="delegate" destination="UG5-bJ-YrY" id="Xho-dZ-Ore"/> |
580 | 655 | </connections> |
... | ... | @@ -583,20 +658,20 @@ |
583 | 658 | <rect key="frame" x="8" y="38" width="359" height="1"/> |
584 | 659 | <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> |
585 | 660 | <constraints> |
586 | - <constraint firstAttribute="height" constant="1" id="yyx-ra-eD2"/> | |
661 | + <constraint firstAttribute="height" constant="1" id="SxY-RF-Hf1"/> | |
587 | 662 | </constraints> |
588 | 663 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
589 | 664 | <color key="textColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
590 | 665 | <nil key="highlightedColor"/> |
591 | 666 | </label> |
592 | 667 | <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入密码:6-16个字符" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="IOQ-sk-Ckx"> |
593 | - <rect key="frame" x="8" y="39" width="298" height="30"/> | |
668 | + <rect key="frame" x="8" y="39" width="324" height="30"/> | |
594 | 669 | <constraints> |
595 | - <constraint firstAttribute="height" constant="30" id="Idr-wo-mVx"/> | |
670 | + <constraint firstAttribute="height" constant="30" id="EzO-Mm-ZgF"/> | |
596 | 671 | </constraints> |
597 | 672 | <nil key="textColor"/> |
598 | 673 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
599 | - <textInputTraits key="textInputTraits" returnKeyType="done" secureTextEntry="YES"/> | |
674 | + <textInputTraits key="textInputTraits" keyboardType="numbersAndPunctuation" returnKeyType="done" secureTextEntry="YES"/> | |
600 | 675 | <connections> |
601 | 676 | <outlet property="delegate" destination="UG5-bJ-YrY" id="qkm-zb-xWD"/> |
602 | 677 | </connections> |
... | ... | @@ -605,17 +680,17 @@ |
605 | 680 | <rect key="frame" x="8" y="77" width="359" height="1"/> |
606 | 681 | <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> |
607 | 682 | <constraints> |
608 | - <constraint firstAttribute="height" constant="1" id="fyR-u3-LBS"/> | |
683 | + <constraint firstAttribute="height" constant="1" id="eQA-Bw-4Gf"/> | |
609 | 684 | </constraints> |
610 | 685 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
611 | 686 | <nil key="textColor"/> |
612 | 687 | <nil key="highlightedColor"/> |
613 | 688 | </label> |
614 | 689 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1J2-p5-3X1"> |
615 | - <rect key="frame" x="314" y="47" width="45" height="22"/> | |
690 | + <rect key="frame" x="340" y="47" width="27" height="22"/> | |
616 | 691 | <constraints> |
617 | - <constraint firstAttribute="width" constant="45" id="k3A-rs-8VG"/> | |
618 | - <constraint firstAttribute="height" constant="22" id="sYv-8M-oJG"/> | |
692 | + <constraint firstAttribute="height" constant="22" id="FkQ-ZM-S8M"/> | |
693 | + <constraint firstAttribute="width" constant="27" id="Ng4-bN-yGu"/> | |
619 | 694 | </constraints> |
620 | 695 | <state key="normal" image="my_password_unlook"> |
621 | 696 | <color key="titleColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> |
... | ... | @@ -634,112 +709,57 @@ |
634 | 709 | </subviews> |
635 | 710 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
636 | 711 | <constraints> |
637 | - <constraint firstItem="zJR-4G-Ym9" firstAttribute="leading" secondItem="l2y-yF-IxJ" secondAttribute="leading" constant="8" id="0Fc-53-ewX"/> | |
638 | - <constraint firstItem="7Rz-tM-Igu" firstAttribute="top" secondItem="IOQ-sk-Ckx" secondAttribute="bottom" constant="8" id="3dr-Qz-eU8"/> | |
639 | - <constraint firstItem="IOQ-sk-Ckx" firstAttribute="top" secondItem="bdq-xk-c7S" secondAttribute="bottom" id="7AX-SR-D42"/> | |
640 | - <constraint firstAttribute="height" constant="80" id="7gx-7J-OKb"/> | |
641 | - <constraint firstItem="7Rz-tM-Igu" firstAttribute="leading" secondItem="l2y-yF-IxJ" secondAttribute="leading" constant="8" id="B9p-mg-Fmu"/> | |
642 | - <constraint firstAttribute="trailing" secondItem="zJR-4G-Ym9" secondAttribute="trailing" constant="8" id="CnL-fF-AU4"/> | |
643 | - <constraint firstItem="zJR-4G-Ym9" firstAttribute="top" secondItem="l2y-yF-IxJ" secondAttribute="top" id="EZB-um-Gtd"/> | |
644 | - <constraint firstItem="1J2-p5-3X1" firstAttribute="leading" secondItem="IOQ-sk-Ckx" secondAttribute="trailing" constant="8" id="FVN-QO-K36"/> | |
645 | - <constraint firstItem="zJR-4G-Ym9" firstAttribute="leading" secondItem="l2y-yF-IxJ" secondAttribute="leading" constant="8" id="NN7-pk-19b"/> | |
646 | - <constraint firstItem="IOQ-sk-Ckx" firstAttribute="leading" secondItem="l2y-yF-IxJ" secondAttribute="leading" constant="8" id="NaB-gb-EBv"/> | |
647 | - <constraint firstItem="bdq-xk-c7S" firstAttribute="top" secondItem="zJR-4G-Ym9" secondAttribute="bottom" constant="8" id="VOj-JI-N5o"/> | |
648 | - <constraint firstItem="zJR-4G-Ym9" firstAttribute="top" secondItem="l2y-yF-IxJ" secondAttribute="top" id="XUn-sp-IXT"/> | |
649 | - <constraint firstItem="1J2-p5-3X1" firstAttribute="top" secondItem="bdq-xk-c7S" secondAttribute="bottom" constant="8" id="YZ9-un-NWs"/> | |
650 | - <constraint firstAttribute="trailing" secondItem="zJR-4G-Ym9" secondAttribute="trailing" constant="8" id="ZaT-Rk-aEG"/> | |
651 | - <constraint firstAttribute="trailing" secondItem="7Rz-tM-Igu" secondAttribute="trailing" constant="8" id="b67-wl-A4g"/> | |
652 | - <constraint firstItem="bdq-xk-c7S" firstAttribute="leading" secondItem="l2y-yF-IxJ" secondAttribute="leading" constant="8" id="trq-Zr-PU8"/> | |
653 | - <constraint firstAttribute="trailing" secondItem="bdq-xk-c7S" secondAttribute="trailing" constant="8" id="ytt-Nr-VyX"/> | |
654 | - <constraint firstAttribute="trailing" secondItem="1J2-p5-3X1" secondAttribute="trailing" constant="16" id="zP0-t8-7QU"/> | |
655 | - </constraints> | |
656 | - </view> | |
657 | - <button opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8rh-jr-h8p"> | |
658 | - <rect key="frame" x="8" y="198" width="359" height="40"/> | |
659 | - <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | |
660 | - <constraints> | |
661 | - <constraint firstAttribute="height" constant="40" id="EUp-oS-yvq"/> | |
662 | - </constraints> | |
663 | - <state key="normal" title="登录"> | |
664 | - <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
665 | - </state> | |
666 | - <userDefinedRuntimeAttributes> | |
667 | - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/> | |
668 | - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | |
669 | - <integer key="value" value="5"/> | |
670 | - </userDefinedRuntimeAttribute> | |
671 | - </userDefinedRuntimeAttributes> | |
672 | - <connections> | |
673 | - <action selector="loginAction:" destination="UG5-bJ-YrY" eventType="touchUpInside" id="iFr-Mi-Wiq"/> | |
674 | - <action selector="registerAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="WOZ-cY-Gu9"/> | |
675 | - </connections> | |
676 | - </button> | |
677 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="X9h-K7-0bg"> | |
678 | - <rect key="frame" x="8" y="268" width="359" height="19"/> | |
679 | - <subviews> | |
680 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="还没有账号,快速" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fRW-Sg-QbI"> | |
681 | - <rect key="frame" x="0.0" y="0.0" width="114.5" height="19"/> | |
682 | - <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
683 | - <color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | |
684 | - <nil key="highlightedColor"/> | |
685 | - </label> | |
686 | - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fzA-Ya-qRu"> | |
687 | - <rect key="frame" x="114" y="0.0" width="101" height="19"/> | |
688 | - <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
689 | - <state key="normal" title="注册"/> | |
690 | - <connections> | |
691 | - <action selector="registerAction:" destination="UG5-bJ-YrY" eventType="touchUpInside" id="g4z-aO-EME"/> | |
692 | - </connections> | |
693 | - </button> | |
694 | - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Bh4-Vg-DUl"> | |
695 | - <rect key="frame" x="215.5" y="0.0" width="143.5" height="19"/> | |
696 | - <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
697 | - <state key="normal" title="忘记密码"/> | |
698 | - <connections> | |
699 | - <action selector="getPasswordAction:" destination="UG5-bJ-YrY" eventType="touchUpInside" id="EJR-6a-h6E"/> | |
700 | - <action selector="loginAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="WkS-hX-ran"/> | |
701 | - </connections> | |
702 | - </button> | |
703 | - </subviews> | |
704 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
705 | - <constraints> | |
706 | - <constraint firstItem="fzA-Ya-qRu" firstAttribute="top" secondItem="X9h-K7-0bg" secondAttribute="top" id="4vq-I6-cdC"/> | |
707 | - <constraint firstItem="fzA-Ya-qRu" firstAttribute="leading" secondItem="fRW-Sg-QbI" secondAttribute="trailing" id="78A-H5-gJi"/> | |
708 | - <constraint firstAttribute="height" constant="19" id="APE-yl-tYV"/> | |
709 | - <constraint firstItem="Bh4-Vg-DUl" firstAttribute="width" secondItem="X9h-K7-0bg" secondAttribute="width" multiplier="2:5" id="Ifv-nJ-Ors"/> | |
710 | - <constraint firstAttribute="bottom" secondItem="fRW-Sg-QbI" secondAttribute="bottom" id="NlF-ot-xQK"/> | |
711 | - <constraint firstAttribute="bottom" secondItem="Bh4-Vg-DUl" secondAttribute="bottom" id="SAs-6n-FHC"/> | |
712 | - <constraint firstAttribute="trailing" secondItem="Bh4-Vg-DUl" secondAttribute="trailing" id="X6L-Xn-PxI"/> | |
713 | - <constraint firstItem="fRW-Sg-QbI" firstAttribute="top" secondItem="X9h-K7-0bg" secondAttribute="top" id="a8O-q0-Fxs"/> | |
714 | - <constraint firstItem="Bh4-Vg-DUl" firstAttribute="top" secondItem="X9h-K7-0bg" secondAttribute="top" id="aV6-G9-T8n"/> | |
715 | - <constraint firstItem="fRW-Sg-QbI" firstAttribute="leading" secondItem="X9h-K7-0bg" secondAttribute="leading" id="huE-rI-PsQ"/> | |
716 | - <constraint firstItem="Bh4-Vg-DUl" firstAttribute="leading" secondItem="fzA-Ya-qRu" secondAttribute="trailing" id="itt-ri-mev"/> | |
717 | - <constraint firstAttribute="bottom" secondItem="fzA-Ya-qRu" secondAttribute="bottom" id="kj1-TR-jJ5"/> | |
712 | + <constraint firstItem="7Rz-tM-Igu" firstAttribute="top" secondItem="IOQ-sk-Ckx" secondAttribute="bottom" constant="8" id="1O6-mf-8Tg"/> | |
713 | + <constraint firstAttribute="trailing" secondItem="zJR-4G-Ym9" secondAttribute="trailing" constant="8" id="55S-nW-Yl2"/> | |
714 | + <constraint firstItem="IOQ-sk-Ckx" firstAttribute="top" secondItem="bdq-xk-c7S" secondAttribute="bottom" id="81n-OM-M8Z"/> | |
715 | + <constraint firstItem="bdq-xk-c7S" firstAttribute="top" secondItem="zJR-4G-Ym9" secondAttribute="bottom" constant="8" id="H4t-g8-yal"/> | |
716 | + <constraint firstAttribute="height" constant="80" id="LI0-bW-uhp"/> | |
717 | + <constraint firstItem="zJR-4G-Ym9" firstAttribute="top" secondItem="l2y-yF-IxJ" secondAttribute="top" id="U38-FX-4cT"/> | |
718 | + <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="80" id="UBK-Wb-rbG"/> | |
719 | + <constraint firstItem="1J2-p5-3X1" firstAttribute="leading" secondItem="IOQ-sk-Ckx" secondAttribute="trailing" constant="8" id="YG1-Vv-1aV"/> | |
720 | + <constraint firstAttribute="trailing" secondItem="bdq-xk-c7S" secondAttribute="trailing" constant="8" id="c1t-if-TqW"/> | |
721 | + <constraint firstItem="7Rz-tM-Igu" firstAttribute="leading" secondItem="l2y-yF-IxJ" secondAttribute="leading" constant="8" id="c6u-fe-cfv"/> | |
722 | + <constraint firstAttribute="trailing" secondItem="7Rz-tM-Igu" secondAttribute="trailing" constant="8" id="cD9-Az-QD7"/> | |
723 | + <constraint firstAttribute="trailing" secondItem="1J2-p5-3X1" secondAttribute="trailing" constant="8" id="oSN-G4-x85"/> | |
724 | + <constraint firstItem="bdq-xk-c7S" firstAttribute="leading" secondItem="l2y-yF-IxJ" secondAttribute="leading" constant="8" id="v9n-R5-DO4"/> | |
725 | + <constraint firstItem="IOQ-sk-Ckx" firstAttribute="leading" secondItem="l2y-yF-IxJ" secondAttribute="leading" constant="8" id="vZZ-bD-pjG"/> | |
726 | + <constraint firstItem="zJR-4G-Ym9" firstAttribute="leading" secondItem="l2y-yF-IxJ" secondAttribute="leading" constant="8" id="vyq-KS-9zw"/> | |
727 | + <constraint firstItem="1J2-p5-3X1" firstAttribute="top" secondItem="bdq-xk-c7S" secondAttribute="bottom" constant="8" id="xfo-vG-x3T"/> | |
718 | 728 | </constraints> |
719 | 729 | </view> |
720 | 730 | </subviews> |
721 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
722 | 731 | <constraints> |
723 | - <constraint firstAttribute="trailing" secondItem="X9h-K7-0bg" secondAttribute="trailing" constant="8" id="22E-n4-Bi5"/> | |
724 | - <constraint firstItem="X9h-K7-0bg" firstAttribute="leading" secondItem="iNa-Xg-qR8" secondAttribute="leading" constant="8" id="35F-mT-dDk"/> | |
725 | - <constraint firstItem="l2y-yF-IxJ" firstAttribute="leading" secondItem="iNa-Xg-qR8" secondAttribute="leading" id="52U-by-P0X"/> | |
726 | - <constraint firstItem="8rh-jr-h8p" firstAttribute="leading" secondItem="iNa-Xg-qR8" secondAttribute="leading" constant="8" id="MaP-ud-Dq3"/> | |
727 | - <constraint firstItem="l2y-yF-IxJ" firstAttribute="top" secondItem="MuP-eU-u8t" secondAttribute="bottom" constant="50" id="Mch-ua-vtc"/> | |
728 | - <constraint firstItem="X9h-K7-0bg" firstAttribute="top" secondItem="8rh-jr-h8p" secondAttribute="bottom" constant="30" id="bPB-QH-jL9"/> | |
729 | - <constraint firstItem="MuP-eU-u8t" firstAttribute="centerX" secondItem="iNa-Xg-qR8" secondAttribute="centerX" id="c4E-D6-ECk"/> | |
730 | - <constraint firstAttribute="trailing" secondItem="l2y-yF-IxJ" secondAttribute="trailing" id="mD4-PT-F33"/> | |
731 | - <constraint firstItem="8rh-jr-h8p" firstAttribute="top" secondItem="l2y-yF-IxJ" secondAttribute="bottom" constant="8" id="nVj-DU-BIW"/> | |
732 | - <constraint firstItem="MuP-eU-u8t" firstAttribute="top" secondItem="iNa-Xg-qR8" secondAttribute="top" id="wgf-Vi-kAc"/> | |
733 | - <constraint firstAttribute="trailing" secondItem="8rh-jr-h8p" secondAttribute="trailing" constant="8" id="xJF-a2-WXZ"/> | |
734 | - <constraint firstAttribute="height" constant="325" id="xfQ-ur-TCe"/> | |
732 | + <constraint firstAttribute="trailing" secondItem="l2y-yF-IxJ" secondAttribute="trailing" id="21t-IW-Lfw"/> | |
733 | + <constraint firstItem="8rh-jr-h8p" firstAttribute="leading" secondItem="x1J-ue-QsP" secondAttribute="leading" constant="8" id="2dZ-uU-gs1"/> | |
734 | + <constraint firstItem="X9h-K7-0bg" firstAttribute="leading" secondItem="x1J-ue-QsP" secondAttribute="leading" constant="8" id="2lr-kL-AY0"/> | |
735 | + <constraint firstItem="l2y-yF-IxJ" firstAttribute="centerY" secondItem="x1J-ue-QsP" secondAttribute="centerY" id="2vZ-Bp-Gc7"/> | |
736 | + <constraint firstItem="l2y-yF-IxJ" firstAttribute="centerX" secondItem="8rh-jr-h8p" secondAttribute="centerX" id="356-9l-vO7"/> | |
737 | + <constraint firstItem="8rh-jr-h8p" firstAttribute="top" secondItem="l2y-yF-IxJ" secondAttribute="bottom" constant="5" id="Fbk-dO-92I"/> | |
738 | + <constraint firstAttribute="trailing" secondItem="8rh-jr-h8p" secondAttribute="trailing" constant="8" id="Jlh-eI-c8P"/> | |
739 | + <constraint firstItem="8rh-jr-h8p" firstAttribute="leading" secondItem="X9h-K7-0bg" secondAttribute="leading" id="PZU-xC-RVt"/> | |
740 | + <constraint firstAttribute="trailing" secondItem="X9h-K7-0bg" secondAttribute="trailing" constant="8" id="UXN-OE-SMD"/> | |
741 | + <constraint firstItem="X9h-K7-0bg" firstAttribute="top" secondItem="8rh-jr-h8p" secondAttribute="bottom" constant="11" id="V7b-nV-yOk"/> | |
742 | + <constraint firstItem="MuP-eU-u8t" firstAttribute="centerX" secondItem="x1J-ue-QsP" secondAttribute="centerX" id="Z3p-91-jMU"/> | |
743 | + <constraint firstItem="MuP-eU-u8t" firstAttribute="top" secondItem="x1J-ue-QsP" secondAttribute="top" constant="114" id="aqN-O5-1qw"/> | |
744 | + <constraint firstItem="l2y-yF-IxJ" firstAttribute="leading" secondItem="x1J-ue-QsP" secondAttribute="leading" id="asb-us-A3N"/> | |
745 | + <constraint firstItem="8rh-jr-h8p" firstAttribute="leading" secondItem="x1J-ue-QsP" secondAttribute="leadingMargin" id="awN-N6-199"/> | |
746 | + <constraint firstAttribute="trailing" secondItem="l2y-yF-IxJ" secondAttribute="trailing" id="ddE-p4-ng1"/> | |
747 | + <constraint firstAttribute="bottom" secondItem="X9h-K7-0bg" secondAttribute="bottom" constant="195" id="eSi-2B-vUK"/> | |
748 | + <constraint firstItem="MuP-eU-u8t" firstAttribute="centerX" secondItem="l2y-yF-IxJ" secondAttribute="centerX" id="uPW-1Y-SRK"/> | |
749 | + <constraint firstItem="l2y-yF-IxJ" firstAttribute="leading" secondItem="x1J-ue-QsP" secondAttribute="leading" id="xaT-zl-a5C"/> | |
750 | + <constraint firstItem="8rh-jr-h8p" firstAttribute="trailing" secondItem="X9h-K7-0bg" secondAttribute="trailing" id="yrC-8Q-CRp"/> | |
735 | 751 | </constraints> |
736 | - </view> | |
752 | + <connections> | |
753 | + <outlet property="delegate" destination="UG5-bJ-YrY" id="NO2-hJ-x3b"/> | |
754 | + </connections> | |
755 | + </scrollView> | |
737 | 756 | </subviews> |
738 | 757 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
739 | 758 | <constraints> |
740 | - <constraint firstItem="iNa-Xg-qR8" firstAttribute="leading" secondItem="Ntj-wl-nEm" secondAttribute="leading" id="QQW-jj-LhX"/> | |
741 | - <constraint firstItem="iNa-Xg-qR8" firstAttribute="trailing" secondItem="Ntj-wl-nEm" secondAttribute="trailing" id="hIx-CF-A1l"/> | |
742 | - <constraint firstItem="iNa-Xg-qR8" firstAttribute="top" secondItem="Ntj-wl-nEm" secondAttribute="top" constant="128" id="ncV-YP-8Ki"/> | |
759 | + <constraint firstAttribute="trailing" secondItem="x1J-ue-QsP" secondAttribute="trailing" id="5Sn-vu-iz6"/> | |
760 | + <constraint firstItem="x1J-ue-QsP" firstAttribute="top" secondItem="Ntj-wl-nEm" secondAttribute="top" id="E9K-SV-dEd"/> | |
761 | + <constraint firstItem="x1J-ue-QsP" firstAttribute="bottom" secondItem="Ntj-wl-nEm" secondAttribute="bottom" id="Gjv-wQ-GxF"/> | |
762 | + <constraint firstItem="x1J-ue-QsP" firstAttribute="leading" secondItem="fVn-x5-9OR" secondAttribute="leading" id="sq7-lN-Qud"/> | |
743 | 763 | </constraints> |
744 | 764 | <viewLayoutGuide key="safeArea" id="Ntj-wl-nEm"/> |
745 | 765 | </view> |
... | ... | @@ -750,12 +770,12 @@ |
750 | 770 | <outlet property="passwordHiddenBtn" destination="1J2-p5-3X1" id="nRt-UB-PLr"/> |
751 | 771 | <outlet property="passwordTextField" destination="IOQ-sk-Ckx" id="WdM-7n-kAj"/> |
752 | 772 | <outlet property="phoneTextField" destination="zJR-4G-Ym9" id="9rT-Uj-tRY"/> |
753 | - <outlet property="topView" destination="ncV-YP-8Ki" id="NYz-Av-YPN"/> | |
773 | + <outlet property="scrollView" destination="x1J-ue-QsP" id="xCq-vd-IS3"/> | |
754 | 774 | </connections> |
755 | 775 | </viewController> |
756 | 776 | <placeholder placeholderIdentifier="IBFirstResponder" id="S0Q-a9-78E" userLabel="First Responder" sceneMemberID="firstResponder"/> |
757 | 777 | </objects> |
758 | - <point key="canvasLocation" x="-570" y="-72"/> | |
778 | + <point key="canvasLocation" x="-570.39999999999998" y="-72.413793103448285"/> | |
759 | 779 | </scene> |
760 | 780 | <!--个人资料--> |
761 | 781 | <scene sceneID="krI-M9-eZ9"> |
... | ... | @@ -977,7 +997,7 @@ |
977 | 997 | </connections> |
978 | 998 | </tapGestureRecognizer> |
979 | 999 | </objects> |
980 | - <point key="canvasLocation" x="976.79999999999995" y="-70.614692653673174"/> | |
1000 | + <point key="canvasLocation" x="1606" y="-72"/> | |
981 | 1001 | </scene> |
982 | 1002 | <!--消息--> |
983 | 1003 | <scene sceneID="3fz-6T-ky5"> | ... | ... |
ParentAssistant/ParentAssistant/Classes/libs/LZCityPickerClass/LZCityPickerView.m
... | ... | @@ -66,7 +66,7 @@ static NSInteger const lz_buttonHeight = 30; |
66 | 66 | __isShowed = YES; |
67 | 67 | [self._superView addSubview:self]; |
68 | 68 | [UIView animateWithDuration:self.interval animations:^{ |
69 | - self.frame = CGRectMake(0, lz_screenHeight - lz_pickerHeight, lz_screenWidth, lz_pickerHeight); | |
69 | + self.frame = CGRectMake(0, lz_screenHeight - lz_pickerHeight - 66 - 44, lz_screenWidth, lz_pickerHeight); | |
70 | 70 | } completion:^(BOOL finished) { |
71 | 71 | if (block) { |
72 | 72 | block(); | ... | ... |
ParentAssistant/Pods/Pods.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/xcschememanagement.plist