PostalAddressRow 2.2.0

PostalAddressRow 2.2.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新版本2019年11月
SPM支持SPM

Mathias ClaassenDiego ErnstMauricio CousillasSantiago Fernandez维护。



PostalAddressRow

Build status Platform iOS Swift 2 compatible Carthage compatible CocoaPods compatible License: MIT

Xmartlabs SRL提供。

内容

介绍

PostalAddressRow是一个Eureka行,用于显示一系列UITextField,供用户输入邮政地址信息。

使用方法

import Eureka
import PostalAddressRow

class ViewController: FormViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        form +++ Section()
            <<< PostalAddressRow() {
                $0.streetPlaceholder = "Street"
                $0.statePlaceholder = "State"
                $0.cityPlaceholder = "City"
                $0.countryPlaceholder = "Country"
                $0.postalCodePlaceholder = "Zip code"
        }
    }
}

需求

  • iOS 9.0+
  • Xcode 8.3+
  • Eureka 版本 2.*

参与

在贡献之前,请检查贡献文件了解详细信息。

如果您在应用程序中使用PostalAddressRow,我们非常乐意了解相关信息!在Twitter上联系我们。

示例

按照以下3个步骤运行示例项目:克隆PostalAddressRow仓库,打开PostalAddressRow工作空间,并运行示例项目。

安装

CocoaPods

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

要安装 PostalAddressRow,只需在 Podfile 中添加以下行

pod 'PostalAddressRow', '~> 1.0'

Carthage

Carthage 是一款用于 Cocoa 的简单、去中心化的依赖项管理器。

要安装 PostalAddressRow,只需将以下行添加到您的 Cartfile 即可

github "EurekaCommunity/PostalAddressRow" ~> 1.0

然后,您需要将 PostalAddressRowEureka 框架(来自 Carthage/Builds/iOS 文件夹)添加到项目的目标嵌入式二进制文件中。

自定义

PostalAddressCell 有五个可使用和自定义的文本字段

	var streetTextField: UITextField?
    var postalCodeTextField: UITextField?
    var cityTextField: UITextField?
    var stateTextField: UITextField?
    var countryTextField: UITextField?

默认情况下,还有两个分隔视图,这些视图在文本字段之间显示

var firstSeparatorView: UIView?
var secondSeparatorView: UIView?

另一个变量 textFieldOrdering 包含所有使用的文本字段,并应清楚地说明它们显示的顺序,以便在行之间进行导航。

var textFieldOrdering: [UITextField?] = []

PostalAddressRow 中,您可以指定每个文本字段的占位符和格式化程序。您还可以指定这些格式化程序是否应在用户输入文本时使用。

另一个变量 postalAddressPercentage 定义左边的文本字段相对于右边的文本字段的空间比例(默认单元格中,邮编和州位于左边,城市和国家位于右边)。此常量用于对应文本字段间的比例宽度约束。

您还可以指定 keyboardReturnType,该变量处理键盘回车键,取决于当前行之后是否有其他行。

如何更改单元格设计

您可以轻松实现您自己的设计。为此,请创建一个包含您单元格的 nib 文件并按需自定义。确保该单元格是 _PostalAddressCell 的子类(它不能是通用的)。然后连接您使用的 UITextField 和分隔视图的 outlets,您就准备好了。示例项目展示了如何进行所有这些操作。

注意:有时连接 outlets 可能很棘手。如果 Xcode 不允许您将它们连接到 _PostalAddressCell,那么您应该手动添加它们,编辑 .xib 文件,或者将 outlets 声明复制到您的子类,在 xib 文件中将它们连接到文本字段,然后从您的子类中删除它们 :-)

在创建您的 nib 文件后,您必须创建一个使用它的行,如下所示

final class MyPostalAddressRow: _PostalAddressRow<PostalAddressCell>, RowType {
    public required init(tag: String? = nil) {
        super.init(tag: tag)
        cellProvider = CellProvider<PostalAddressCell>(nibName: "CustomNib", bundle: Bundle.main)
    }
}

路线图

仍需完成的事项

  • 添加国家选择器?

作者

变更日志

可以在 CHANGELOG.md 文件中找到。