Skip to content

bonyadmitr/HideKeyboardTapGestureManager

Repository files navigation

HideKeyboardTapGestureManager

Use https://github.com/bonyadmitr/KeyboardHideManager. This one is deprecated and will be deleted soon.

Icon

Language CocoaPods Compatible Carthage Compatible Platform License

HideKeyboardTapGestureManager - easy to use, codeless manager to hide keyboard by tapping on views for iOS written in Swift.

preview

Structure

Features

  • 3 simple actions to setup
  • Multiple views setup
  • Codeless usage
  • Code only usage
  • Xib support
  • Warning logs for code usage

Requirements

  • Swift 3.0+
  • iOS 8.0+

Installation

CocoaPods

pod 'HideKeyboardTapGestureManager', '~> 1.0'
Full CocoaPods Guide (click to expand)

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate HideKeyboardTapGestureManager into your Xcode project using CocoaPods, create file Podfile with content:

platform :ios, '9.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'HideKeyboardTapGestureManager', '~> 1.0'
end

Then, run the following command:

$ pod install

Close 'Your Target Name'.xcodeproj and open 'Your Target Name'.xcworkspace.

Carthage (code only)

HideKeyboardTapGestureManager cannot be used in IB due .framework issue. See Code usage section.

github "bonyadmitr/HideKeyboardTapGestureManager" ~> 1.0
Full Carthage Guide (click to expand)

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate HideKeyboardTapGestureManager into your Xcode project using Carthage, create file Cartfile with content:

github "bonyadmitr/HideKeyboardTapGestureManager" ~> 1.0

Run carthage update to build the framework and drag the built HideKeyboardTapGestureManager.framework into your Xcode project.

Manually

If you prefer not to use either of the aforementioned dependency managers, you can integrate HideKeyboardTapGestureManager into your project manually.

Drag HideKeyboardTapGestureManager folder in your project

Usage

    1. Drag Object from Object library

usage_1

    1. Setup HideKeyboardTapGestureManager in Class field

usage_2

    1. Connect views with targets

usage_3

User Iteraction Enabled

Target must be UIView subclass and user iteraction enabled is on. You can set it in IB in View section: (example for UILabel)

user_iteraction_enabled

or in code:

someView.isUserInteractionEnabled = true

Code usage

You can use HideKeyboardTapGestureManager in code:

Connect object:

@IBOutlet var hideKeyboardTapGestureManager: HideKeyboardTapGestureManager!

or add in code:

let hideKeyboardTapGestureManager = HideKeyboardTapGestureManager()

Add new targets:

hideKeyboardTapGestureManager.add(targets: [someView1])

or remove old ones:

hideKeyboardTapGestureManager.remove(targets: [someView2])
hideKeyboardTapGestureManager.removeAllTargets()

Xib support

To use with xib you must add strong property to controller:

@IBOutlet var hideKeyboardTapGestureManager: HideKeyboardTapGestureManager!

Otherwise it will be deinited. It is logic of Objects in xibs.

To do

  • Add example
  • Add tests
  • Add comments
  • Add CI

License

HideKeyboardTapGestureManager is released under the MIT license. See LICENSE for details.