

获取您的项目免费样机 →
RAMReel
需求
- iOS 8.0+
- Swift 4.0
安装
我们建议使用 CocoaPods 来安装我们的库。
只需将其放入您的 Podfile
pod 'RAMReel'
或者 Carthage 用户可以在他们的 Cartfile
中简单添加 reel-search
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
:指定您想要放置控件的位置的矩形。dataSource: DataSource
:滚轮数据源。placeholder: String
(可选):占位符文本;默认情况下使用空字符串。hook: DataSource.ResultType -> Void
(可选):选择元素时要执行的操作,默认为nil
。如果您需要执行多个操作,可以稍后添加额外的钩子。
让我们用这个来创建一个RAMReel
实例
let ramReel = RAMReel<CellClass, TextFieldClass, DataSource>(frame: frame, dataSource: dataSource, placeholder: placeholder, hook: hook)
添加操作钩子
要添加额外操作,您可以向RAMReel
对象的hooks
属性追加DataSource.ResultType -> Void
函数。
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 开源项目之一:最好的 UI 开源项目。
如果您的项目使用了开源库,请确保引用和反向链接到 www.ramotion.com
📱 获取 Showroom App for iOS 尝试一下
在我们的 iOS 应用中尝试这个 UI 组件以及其他类似组件。如果您感兴趣,请联系我们。

