SafeAreaInputAccessoryViewWrapperView 1.0.1

SafeAreaInputAccessoryViewWrapperView 1.0.1

Jeff Burt 维护。




SafeAreaInputAccessoryViewWrapperView Logo

Swift4.0 Platform Version License

说明

SafeAreaInputAccessoryViewWrapperView 用于将视图包裹以用作 inputAccessoryView。没有这个,设置视图为 inputAccessoryView 将会忽略安全区域布局。例如,iPhone X 的主屏幕指示器将会争夺同样的空间。这个类确保视图遵守安全区域布局,并且不会覆盖系统 UI 元素,如 iPhone X 的主屏幕指示器。

适用于 iOS 9.0+ 和 Xcode 9.0.0+。

内容

  1. 功能
  2. 用法
  3. 安装
  4. 许可
  5. 联系方式

功能

  • 与所有运行 iOS 9+ 的设备兼容。
  • 在 iOS 11+ 的设备上遵守 safeAreaLayoutGuide。例如,包裹的视图会上滑以为 iPhone X 的主屏幕指示器腾出空间。
  • 使用自动布局约束动态设置包裹视图的高度。不再需要手动设置框架!
  • 展示了如何使具有始终可见的 inputAccessoryView 的应用程序示例,即使在键盘关闭时也是如此。

Example Project Screenshot - iPhone X Example Project Screenshot - iPhone 8

用法

  1. 使用 SafeAreaInputAccessoryViewWrapperView(for:) 将任何 UIView/UIButton/UILabel 等封装。
SafeAreaInputAccessoryViewWrapperView(for: button)
  1. 在这个类的某个地方存储对该视图的引用。
let button = UIButton(type: .system)

lazy var wrappedButton: SafeAreaInputAccessoryViewWrapperView = {
    return SafeAreaInputAccessoryViewWrapperView(for: button)
}()
  1. inputAccessoryView 返回该引用。
override var inputAccessoryView: UIView? {
    return wrappedButton
}
  1. (可选) 当键盘关闭时也总是显示 inputAccessoryView
override var canBecomeFirstResponder: Bool {
    return true
}

override func viewDidLoad() {
    super.viewDidLoad()
    becomeFirstResponder()
}

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理器。

CocoaPods 0.36 增加了 Swift 和嵌入式框架的支持。您可以使用以下命令安装:

$ gem install cocoapods

要使用 CocoaPods 将 SafeAreaInputAccessoryViewWrapperView 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它。

pod 'SafeAreaInputAccessoryViewWrapperView'

然后,运行以下命令

$ pod install

如果 Xcode 抱怨("无法加载 SafeAreaInputAccessoryViewWrapperView 的底层模块"),请转到产品并选择清理(或只需按 K)。

手动

如果您不想使用 CocoaPods,可以手动将 SafeAreaInputAccessoryViewWrapperView 集成到项目。

许可

SafeAreaInputAccessoryViewWrapperViewJeff BurtStockX 开发,并按 MIT 许可证发布。有关详细信息,请参阅 LICENSE 文件。

联系

欢迎关注我的个人Twitter账号:jeffburtjr。如果您在此项目中发现任何问题或有任何改进意见,请随意在GitHub上创建问题并/或发起拉取请求。