SEFilterControl 2.0.0

SEFilterControl 2.0.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2015年5月

Shady Elyaski 维护。



  • Shady Elyaski 和 Nicolas Goutaland

iOS Filter Control

iOS Filter UIControl 子类。零图形。高度可定制。

灵感来源于国家地理:公园向导。

截图

以下是不同变体的截图

ScreenShot

My image

您可以在 Youtube 上观看演示视频

安装

Cocoapods: pod 'SEFilterControl'

手动:

  1. 在您的 XCode 项目中,将 ios-filter-control 文件夹中的 SEFilterControl.h 和 .mSEFilterKnob.h 和 .m 拖放到您的项目中。

  2. 开始使用此新的 UIControl 子类!

SDK 支持

它支持 iOS 5 至 iOS 8 的实时渲染,界面构建器将需要 Xcode 6.x

用法

创建您的过滤器

通过代码

在某个地方,例如在 viewDidLoad 中,分配并初始化过滤器 UIControl

SEFilterControl *filter = [[SEFilterControl alloc]initWithFrame:CGRectMake(10, 20, 300, 70) Titles:[NSArray arrayWithObjects:@"Articles", @"News", @"Updates", @"Featured", @"Newest", @"Oldest", nil]];

这里使用 CGRect 和 NSStrings 的标题数组初始化我们的过滤器控制。

注意:控制的高度是预定义的,为 70,不能更改 使用 SEFilterControl_HEIGHT 常量进行参考。

然后,添加目标以处理值更改事件

[filter addTarget:self action:@selector(filterValueChanged:) forControlEvents:UIControlEventValueChanged];

别忘了实现我们稍后指定的处理程序

-(void)filterValueChanged:(SEFilterControl *) sender{
    NSLog(@"%@", [NSString stringWithFormat:@"%d", sender.SelectedIndex]);
}

添加到您的 UIView

    [self.view addSubview:filter];

通过 Interface builder

将新的 UIView 添加到您的 xib,并将其类更新为 SEFilterControl。将 UIAction 绑定到控制器的 valueChanged 事件。享受吧 ;)

配置

过滤器

属性 效果 默认值
progressColor 进度条颜色 SEFilterControl_DEFAULT_PROGRESS_COLOR
titlesFont 配置所有标题字体 SEFilterControl_DEFAULT_TITLE_FONT
titlesColor 配置所有标题颜色 SEFilterControl_DEFAULT_TITLE_COLOR
titlesShadowColor 配置所有标题阴影颜色 SEFilterControl_DEFAULT_TITLE_SHADOW_COLOR

旋钮

属性 效果 默认值
handlerColor 配置旋钮颜色 SEFilterKnob_DEFAULT_HANDLER_COLOR
shadowColor 配置旋钮阴影颜色 SEFilterKnob_DEFAULT_SHADOW_COLOR
阴影 启用/禁用阴影 SEFilterKnob_DEFAULT_SHADOW

连续模式

如果将continuous设置为YES,则在用户拖动旋钮时滤波器将生成valueChanged事件。如果是NO,则在旋钮释放后发送一个事件。

UIAppearance

SEFilterControlSEFilterKnob声明了UIAppearance方法,允许您同时为所有实例设置样式。

致谢

特别感谢mash, Ltd.团队的支援。

感谢Nicolas Goutaland更新版本。

许可

本代码由Shady Elyaski发布,受MIT许可协议保护。Shady Elyaski

当您在项目中使用此自定义UIControl时,我们很想听到您的反馈!

干杯,

Shady A. Elyaski

http://www.elyaski.com