UnderKeyboard, 用于从键盘移动内容的iOS libary

分享于 

5分钟阅读

GitHub

  繁體 雙語
Helper function to move scroll view content from under the keyboard in iOS written in Swift
  • 源代码名称:UnderKeyboard
  • 源代码网址:http://www.github.com/evgenyneu/UnderKeyboard
  • UnderKeyboard源代码文档
  • UnderKeyboard源代码下载
  • Git URL:
    git://www.github.com/evgenyneu/UnderKeyboard.git
    Git Clone代码到本地:
    git clone http://www.github.com/evgenyneu/UnderKeyboard
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/evgenyneu/UnderKeyboard
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    用于从键盘移动内容的ios/Swift libary

    Carthage compatibleCocoaPods VersionLicensePlatform

    当键盘出现并将它的隐藏时,这里库帮助移动视图。 它包括 helper 类,用于更改底部自动布局约束的长度。

    Moving content from under the keyboard in iOS/Swift

    设置

    有三种方法可以将UnderKeyboard添加到项目中。

    添加源( iOS 7 + )

    简单地将 UnderKeyboardDistrib.swift 插件添加到项目中。

    使用 Carthage ( iOS 8 + ) 安装

    另外,添加 github"evgenyneu/UnderKeyboard" ~> 11.0 到你的Cartfile并运行 carthage update

    使用 CocoaPods ( iOS 8 + ) 安装

    如果你正在使用 CocoaPods,请将这里文本添加到你的Podfile并运行 pod install

    
    use_frameworks!
    
    
    target 'Your target name'
    
    
    pod 'UnderKeyboard', '~> 11.0'
    
    
    
    
    旧版 Swift 版本

    如果你使用旧版本的Swift,则设置库的以前版本的

    用法

    如果使用Carthage或者CocoaPods设置方法,则将 import UnderKeyboard 添加到源代码。

    移动内容

    当键盘出现在屏幕上时,会使你的视线模糊。 防止这种情况的一种方法是创建底部自动布局约束并增加它的长度。 你可以使用 UnderKeyboardLayoutConstraint helper 类来实现。 请注意,底部布局约束关系可以是简单的equal,也可以是在演示应用程序的登录屏幕中使用的greater than 关系。

    @IBOutletweakvar bottomLayoutConstraint: NSLayoutConstraint!let underKeyboardLayoutConstraint =UnderKeyboardLayoutConstraint()overridefuncviewDidLoad() {
     super.viewDidLoad()
     underKeyboardLayoutConstraint.setup(bottomLayoutConstraint, view: view)
    }

    Increase height of bottom layout constraint when keyboard appears in iOS

    注:bottomLayoutConstraint的下边缘应该连接到 superview,而不应连接到布局指南或者安全区域。

    直接使用键盘观察器

    这个库包含了 UnderKeyboardObserver 类,可以用来编写自己的自定义逻辑。 你可以提供在显示和隐藏键盘时由这里观察者调用的函数。 你的函数将接收键盘的高度。 如果键盘被隐藏,高度参数为零。

    let keyboardObserver =UnderKeyboardObserver()overridefuncviewDidLoad() {
     super.viewDidLoad()
     keyboardObserver.start()
     // Called before the keyboard is animated keyboardObserver.willAnimateKeyboard= { height in myConstraint.constant= height
     }
     // Called inside the UIView.animateWithDuration animations block keyboardObserver.animateKeyboard= { height in myView.layoutIfNeeded()
     }
    }

    正在获取键盘高度

    使用 UnderKeyboardObserver 对象的currentKeyboardHeight 属性获取当前键盘高度。 必须首先调用 start 方法来开始侦听键盘通知。 如果键盘状态未知,则 currentKeyboardHeight 返回的值可以是 nil。 在调用 start 方法之后,如果没有键盘通知发生,则可能发生这种情况,因此我们不知道键盘是否可见或者隐藏。

    let keyboardObserver =UnderKeyboardObserver()overridefuncviewDidLoad() {
     super.viewDidLoad()
     keyboardObserver.start()
    }funcmyFunction() {
     print("Keyboard height: (keyboardObserver.currentKeyboardHeight)")
    }

    版本 11中的更改

    UnderKeyboardLayoutConstraint 类的setup 方法的bottomLayoutGuide 属性在版本 11中被移除。 为了正确计算底部constaint的高度,现在应该将它的底部连接到 superview,而不是安全区域。 superview应该是与应用程序窗口大小匹配的那个。

    引用

    管理键盘

    许可证

    UnderKeyboard是在 MIT许可协议下发布的。


    KEY  键盘  MOV  
    相关文章