LUAutocompleteView 5.0.0

LUAutocompleteView 5.0.0

测试测试过
语言语言 SwiftSwift
许可证 MIT
发布最后发布2023年11月
SPM支持 SPM

Laurentiu Ungur 维护。



  • Laurentiu Ungur

LUAutocompleteView

易于使用且可高度配置的自动完成视图,可以附加到任何 UITextField

Build Status Swift 5 Carthage compatible Swift Package Manager compatible Pod Version Pod Platform Pod License

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖项管理器。您可以使用以下命令安装它

$ sudo gem install cocoapods

需要 CocoaPods 1.7.0+。

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

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'LUAutocompleteView'
end

然后,运行以下命令

$ pod install

Carthage

您可以通过将其添加到您的 Cartfile 来使用 Carthage 安装 LUAutocompleteView

github "LaurentiuUngur/LUAutocompleteView" ~> 4.0

然后运行 carthage update.

如果您在项目中第一次使用 Carthage,您需要按照 Carthage 中解释的步骤进行一些额外的步骤。

Swift 包管理器

要使用 Apple 的 Swift 包管理器 进行集成,请将以下内容添加到您的 Package.swift 中作为依赖项

.Package(url: "https://github.com/LaurentiuUngur/LUAutocompleteView", majorVersion: 4)

以下是一个 PackageDescription 的示例

import PackageDescription

let package = Package(name: "MyApp",
    dependencies: [
        .Package(url: "https://github.com/LaurentiuUngur/LUAutocompleteView", majorVersion: 4)
    ])

手动

如果您不希望使用上述提到的任何依赖项管理器,您可以将 LUAutocompleteView 手动集成到您的项目中。

用法

  • LUAutocompleteView 导入您的项目。
import LUAutocompleteView
  • 将您要附加自动完成视图的 textField 属性分配给您想要的 textField
autocompleteView.textField = textField
  • 设置数据源和代理。
autocompleteView.dataSource = self
autocompleteView.delegate = self
  • 实现 LUAutocompleteViewDataSourceLUAutocompleteViewDelegate 协议。
// MARK: - LUAutocompleteViewDataSource

extension ViewController: LUAutocompleteViewDataSource {
    func autocompleteView(_ autocompleteView: LUAutocompleteView, elementsFor text: String, completion: @escaping ([String]) -> Void) {
        let elementsThatMatchInput = elements.filter { $0.lowercased().contains(text.lowercased()) }
        completion(elementsThatMatchInput)
    }
}

// MARK: - LUAutocompleteViewDelegate

extension ViewController: LUAutocompleteViewDelegate {
    func autocompleteView(_ autocompleteView: LUAutocompleteView, didSelect text: String) {
        print(text + " was selected from autocomplete view")
    }
}

定制

  • 通过继承 LUAutocompleteTableViewCell 创建您自定义的自动完成单元。
  • 重写从 LUAutocompleteTableViewCell 中继承的 func set(text: String),该方法在每个要由单元格显示给定文本时被调用。
import UIKit
import LUAutocompleteView

final class CustomAutocompleteTableViewCell: LUAutocompleteTableViewCell {
    // MARK: - Base Class Overrides

    override func set(text: String) {
        textLabel?.text = text
        textLabel?.textColor = .red
    }
}
  • 将自定义的自动完成单元格分配给 autocompleteCell 属性。
autocompleteView.autocompleteCell = CustomAutocompleteTableViewCell.self

更多用法详情请参考示例应用

需求

  • Xcode 10.2+
  • Swift 5.0+
  • iOS 9.0+

作者

许可协议

  • LUAutocompleteView 在 MIT 许可协议下可用。