我们建议使用 CocoaPods 来安装我们的库。
只需将此添加到您的 Podfile 中
pod 'RAMReel'
或者 Carthage 用户可以简单地将 reel-search 添加到他们的 Cartfile 中
github "Ramotion/reel-search"
为了使用我们的控件,您需要实现以下内容
CellClass:您的 cell 类必须继承自 UICollectionViewCell 并实现 ConfigurableCell 协议。或者您可以直接使用我们预定义的类 RAMCell。TextFieldClass:任何 UITextField 的子类都可以。DataSource:您的类型必须实现 FlowDataSource 协议,其中 QueryType 为 String,ResultType 为 Renderable 和 Parsable。或者您可以直接使用我们预定义的类 SimplePrefixQueryDataSource,它的 ResultType 设置为 String。现在您可以将这些类型用作 RAMReel 类型声明的泛型参数
RAMReel<CellClass, TextFieldClass, DataSource>
接下来,您需要创建一个 RAMReel 实例,为此您需要以下内容
frame: CGRect:Rect,指定您想要放置控件的位置。dataSource: DataSource:reel 的数据源。placeholder: String(可选):占位符文本;默认情况下,使用空字符串。hook: DataSource.ResultType -> Void(可选):元素选择时要执行的操作,默认为 nil。如果需要执行多个操作,您可以稍后添加额外的 hook。让我们用它来创建一个 RAMReel 实例
let ramReel = RAMReel<CellClass, TextFieldClass, DataSource>(frame: frame, dataSource: dataSource, placeholder: placeholder, hook: hook)
要添加额外的操作,您可以将 DataSource.ResultType -> Void 函数附加到 RAMReel 对象属性 hooks
ramReel.hooks.append { data in
// your code goes here
}
最后一步,在您的视图上显示 RAMReel
ramReel.view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
yourView.addSubview(ramReel.view)
如果您遇到视觉问题,请尝试在显示视图之前调用 prepareForViewing。
像这样
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
ramReel.prepareForViewing()
}
如果您想更改 RAMReel 的外观,您可以使用主题。
为此,您只需在您的类/结构中实现 Theme 协议,并将您的 RAMReel 对象的 theme 属性设置为您的主题。
或者您可以直接使用 RAMTheme 类型的预定义实例。
let textColor: UIColor
let listBackgroundColor: UIColor
let font: UIFont
let theme = RAMTheme(textColor: textColor, listBackgroundColor: listBackgroundColor, font: font)
请参阅 RAMReel 文档 以了解更多信息
Reel Search 在 MIT 许可证下发布。有关详细信息,请参阅 LICENSE。
这个库是我们 精选最佳 UI 开源项目 的一部分。
如果您在您的项目中使用此开源库,请确保注明出处并反向链接到 www.ramotion.com
在我们的 iOS 应用程序中尝试此 UI 组件以及更多类似组件。如有兴趣,请联系我们。