AutoKeyboardScrollView 1.5.2

AutoKeyboardScrollView 1.5.2

测试已测试
语言语言 SwiftSwift
许可协议 MIT
发布最后发布2020年8月
SPM支持 SPM

张宏浩维护。




  • 张宏浩

AutoKeyboardScrollView

CI Status Version License Platform

AutoKeyboardScrollView 是一个智能 UIScrollView,它可以

  • 滚动到适当的位置,并确保在键盘显示时,活动的 textField 是可见的
  • 为 textField 定制顶部和底部边距
  • 在点击 scrollView 时关闭键盘
  • 在点击 "Return" 键时关闭键盘
  • 新的 contentView,使您与 Auto Layout 的工作更加容易

预览

demo

为什么

在开发 iOS 项目时,表单视图非常常见。当键盘显示时,大的键盘会覆盖很大面积,这将会隐藏活动的 textField。

处理 UIScrollView 上的滚动有些麻烦,再次编写键盘通知和 textField 目标操作代码是微不足道的。

为了保持您的代码 DRY,并使您的 iOS 开发生活更加容易。

需求

  • iOS 8.0+ / Mac OS X 10.9+
  • Xcode 7.0

安装

CocoaPods

AutoKeyboardScrollView可通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile中

pod "AutoKeyboardScrollView", '~> 1.5'

手动

只需将AutoKeyboardScrollView.swift(位于./Source,右键单击并下载链接文件)拖到您的项目中,即可直接使用。

用法

只需将AutoKeyboardScrollView用作包含文本框或包含文本框的视图的父视图。在autoKeyboardScrollView.contentView上添加子视图(请确保在.contentView上添加子视图),然后它就可以工作了!

(注意,只有已添加到要添加的视图上的文本框才能被处理,您可以通过调用handleTextField:handleTextFields:手动添加需要处理的文本框)

要运行示例项目,首先克隆存储库,然后从示例目录中运行pod install

它是如何工作的?

AutoKeyboardScrollViewUIScrollView的子类,以下列出了一些关键特性:

contentView

新增属性:contentView,其功能与UITableViewCell相同。所有子视图应添加到contentView上,这对于处理带有ScrollView的Auto Layout非常有帮助(参考:Apple技术文档TN2154 - UIScrollView 和 Auto Layout)。

注意:为了让AutoKeyboardScrollView确定其contentSize,必须完全指定contentView的宽度和高度。

点击空白处关闭键盘

AutoKeyboardScrollView将添加一个Tap手势,允许通过点击文本字段周围的空白区域来关闭键盘。

按“返回”键关闭键盘

AutoKeyboardScrollView会自动检测添加的新子视图中的textFields,并添加这些textField的UIControlEditing动作,让您在点击“返回”时关闭键盘。

与Interface Builder结合使用

在IB中创建一个包装视图,然后将其添加到autoKeyboardScrollView.contentView作为子视图。

查看示例项目,并选择目标InterfaceBuilderExample

targets

要求

支持Auto Layout,未在基于frame的代码上测试。

支持iOS 7及以上版本。未在iOS 6上测试,因为Auto Layout自iOS 6以来已有,应该没问题。

作者

张宏昊 (Honghao Zhang)

许可证

AutoKeyboardScrollView遵从MIT许可证。有关更多信息,请参阅LICENSE文件。