FormView 2.0.4

FormView 2.0.4

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布上一次发布2018年2月
SwiftSwift 版本3.0
SPM支持 SPM

Mohsen Shakiba 维护。



 
依赖项
CUITools>= 0
AdvancedTableView>= 0
 

FormView 2.0.4

  • mohsenShakiba

FormView

摘要

这是一个用于创建和管理表单视图的库

组件

FormView

核心视图,用于显示和管理表单。
此视图包含一个 UIScrollView,它封装了一个 UIStackView。
StackView 的最小高度与 UIScrollView 相同,以便允许加载数据按钮与视图底部对齐。

方法与属性

  • .edgeInsets: UIEdgeInsets 允许您指定 formView 将其子视图放置在边距的程度。默认值: UIEdgeInsets(top: 24, left: 16, bottom: 24, right: 16)
  • .rowSpacing: CGFloat 表示 stackView 中项目的空间,默认值为 16,这适用于 FormItem 和附件
  • .add(formItem: yourFormItem):将 formItem 添加到 formView 的末尾
  • .insert(formItem: yourFormItem, at: index):在指定位置插入 formItem
  • .add(accessory: yourAccessory):将附件添加到 formView 的末尾
  • .insert(formItem: yourAccessory, at: index):在指定位置插入附件

FormViewController

将 FormView 包裹在一个 UIViewController 中,包括键盘处理等附加功能
FormView 通过控制器的 formView 可访问

警告:不要将此控制器与导航控制器一起使用

方法与属性

  • .showError(message: String) 在视图顶部显示错误信息一段时间
  • .enableHeader(title: String) 创建具有给定标题的标题栏,这也会设置适当的边距,因此调用此方法后不要设置边距

FormItem

这些是可以在 FormView 中使用的项目

自定义 FormItem

每个 FormItem 都应该是 FormItem 的子类。
如果自定义类需要通知关于选中/取消选中的事件,它还应该实现适当的方法。
但默认情况下,FormItem 是 UIControl 的子类,所以用户可以设置选择器来通知触摸事件。

TextFieldFormItem

包含 UITextField,用户在其中可以写入单行字符串

  • title: String 获取/设置 FormItem 的标题
  • value: String 获取/设置 formItem 的值
  • prompt: String 获取/设置 formItem 的提示值

TextViewFormItem

包含 UITextView,用户在其中可以写入多行字符串

  • title: String 获取/设置 FormItem 的标题
  • value: String 获取/设置 formItem 的值
  • prompt: String 获取/设置 formItem 的提示值

SelectFormItem

显示不可编辑的值
使用selector获取touchUpInside事件

  • title: String 获取/设置 FormItem 的标题
  • value: String 获取/设置 formItem 的值
  • prompt: String 获取/设置 formItem 的提示值

SelectImageFormItem

显示用户选择的图像
显示的图像大小为100 px

  • set(image: UIImage)显示指定的图像
  • removeImage()移除图像并显示默认图像

附件

FormLoadingButton

包装一个LoadingButton
使用添加目标来处理touchUpInside事件

  • isLoading: Bool指示按钮是否正在加载
  • isEnabled: Bool指示按钮是否启用
  • loadingButton: LoadingButton访问原始的loadingButton

作者

mohsen shakiba, [email protected]

许可证

FormView在MIT许可下可用。有关更多信息,请参阅LICENSE文件。