From 83abb7a58561d434eebce89e9ba81653ce684e2c Mon Sep 17 00:00:00 2001 From: Max Konovalov Date: Mon, 27 Nov 2017 14:29:15 +0300 Subject: [PATCH] Update example and readme --- Images/constraint.png | Bin 0 -> 66338 bytes .../project.pbxproj | 4 ++ .../Base.lproj/Main.storyboard | 25 ++++++--- .../Extensions.swift | 53 ++++++++++++++++++ README.md | 4 ++ 5 files changed, 79 insertions(+), 7 deletions(-) create mode 100644 Images/constraint.png create mode 100644 KeyboardLayoutGuideExample/KeyboardLayoutGuideExample/Extensions.swift diff --git a/Images/constraint.png b/Images/constraint.png new file mode 100644 index 0000000000000000000000000000000000000000..8d95cf8908abfee1cf97fe9916216aecdfae9818 GIT binary patch literal 66338 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 e|7*sNPduAfifd3D|sql&b literal 0 HcmV?d00001 diff --git a/KeyboardLayoutGuideExample/KeyboardLayoutGuideExample.xcodeproj/project.pbxproj b/KeyboardLayoutGuideExample/KeyboardLayoutGuideExample.xcodeproj/project.pbxproj index 5b648b5..e9a87f5 100644 --- a/KeyboardLayoutGuideExample/KeyboardLayoutGuideExample.xcodeproj/project.pbxproj +++ b/KeyboardLayoutGuideExample/KeyboardLayoutGuideExample.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 50F1DDE31FCC267900600110 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50F1DDE21FCC267900600110 /* Extensions.swift */; }; 9902DE341FBB2659009E0D48 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9902DE331FBB2659009E0D48 /* AppDelegate.swift */; }; 9902DE361FBB2659009E0D48 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9902DE351FBB2659009E0D48 /* ViewController.swift */; }; 9902DE391FBB2659009E0D48 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9902DE371FBB2659009E0D48 /* Main.storyboard */; }; @@ -39,6 +40,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 50F1DDE21FCC267900600110 /* Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; }; 9902DE301FBB2659009E0D48 /* KeyboardLayoutGuideExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KeyboardLayoutGuideExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 9902DE331FBB2659009E0D48 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 9902DE351FBB2659009E0D48 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -82,6 +84,7 @@ children = ( 9902DE331FBB2659009E0D48 /* AppDelegate.swift */, 9902DE351FBB2659009E0D48 /* ViewController.swift */, + 50F1DDE21FCC267900600110 /* Extensions.swift */, 9902DE371FBB2659009E0D48 /* Main.storyboard */, 9902DE3A1FBB2659009E0D48 /* Assets.xcassets */, 9902DE3C1FBB2659009E0D48 /* LaunchScreen.storyboard */, @@ -197,6 +200,7 @@ files = ( 9902DE361FBB2659009E0D48 /* ViewController.swift in Sources */, 9902DE341FBB2659009E0D48 /* AppDelegate.swift in Sources */, + 50F1DDE31FCC267900600110 /* Extensions.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/KeyboardLayoutGuideExample/KeyboardLayoutGuideExample/Base.lproj/Main.storyboard b/KeyboardLayoutGuideExample/KeyboardLayoutGuideExample/Base.lproj/Main.storyboard index bfe1a0c..9b0be46 100644 --- a/KeyboardLayoutGuideExample/KeyboardLayoutGuideExample/Base.lproj/Main.storyboard +++ b/KeyboardLayoutGuideExample/KeyboardLayoutGuideExample/Base.lproj/Main.storyboard @@ -18,21 +18,32 @@ - + + + + - + + + + - + diff --git a/KeyboardLayoutGuideExample/KeyboardLayoutGuideExample/Extensions.swift b/KeyboardLayoutGuideExample/KeyboardLayoutGuideExample/Extensions.swift new file mode 100644 index 0000000..fb66a2c --- /dev/null +++ b/KeyboardLayoutGuideExample/KeyboardLayoutGuideExample/Extensions.swift @@ -0,0 +1,53 @@ +// +// Extensions.swift +// KeyboardLayoutGuideExample +// +// Created by Max Konovalov on 27/11/2017. +// Copyright © 2017 freshos. All rights reserved. +// + +import UIKit + +extension ViewController: UITextFieldDelegate { + + func textFieldShouldReturn(_ textField: UITextField) -> Bool { + textField.resignFirstResponder() + return false + } + + @IBAction func buttonTapped(_ sender: Any) { + guard let textField = view.subviews.first as? UITextField else { + return + } + if textField.isFirstResponder { + textField.resignFirstResponder() + } else { + textField.becomeFirstResponder() + } + } + +} + +class InvertedButton: UIButton { + + override var isHighlighted: Bool { + didSet { + updateBackgroundColor() + } + } + + override func awakeFromNib() { + super.awakeFromNib() + updateBackgroundColor() + } + + override func tintColorDidChange() { + super.tintColorDidChange() + updateBackgroundColor() + } + + private func updateBackgroundColor() { + backgroundColor = isHighlighted ? tintColor.withAlphaComponent(0.5) : tintColor + } + +} diff --git a/README.md b/README.md index bef0a65..66f4dcb 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,10 @@ override func viewDidLoad() { } ``` +If you add your view in Interface Builder, don't forget to enable the "**Remove at build time**" checkbox for the bottom constraint: + + + ## Installation ### CocoaPods