GKActionSheetPicker 0.8.4

GKActionSheetPicker 0.8.4

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2021年2月

Gruber Kristóf维护。



  • 作者:
  • Gruber Kristóf

GKActionSheetPicker

Version License Platform

GKActionSheetPicker 是一个便于使用的选择多个值的选择解决方案。它显示一个从底部动画出的覆盖层菜单,用户可以从 UIPickerView 选择所需的值,然后可以通过选择正按钮确认或者关闭它。

功能

  • 易于使用
  • 符合 iOS 设计
  • 支持字符串、日期
  • 可扩展(包含国家选择器的示例)
  • 支持多列
  • 支持模型-显示对(例如选择显示字符串并返回相应的 ID)
  • 黑色覆盖层在其他元素之上
  • 点击覆盖层关闭
  • 高度可自定义
  • 支持所有分辨率(包括 iPad 和横屏模式)

看起来是这样的

image

试着用一下

在 Appetize.io 上尝试

要求

  • iOS 7
  • ARC,显然

安装

GKActionSheetPicker可以通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile中

pod "GKActionSheetPicker"

使用

首先导入它

#import <GKActionSheetPicker/GKActionSheetPicker.h>

然后你应该有一个强引用,例如你可以有一个属性

@property (nonatomic, strong) GKActionSheetPicker *actionSheetPicker;

你可以这样打开它

NSArray *items = @[@"Apple", @"Orange", @"Peach", @"Pearl", @"Tomato"];

self.actionSheetPicker = [GKActionSheetPicker stringPickerWithItems:items selectCallback:^(id selected) {
    NSLog(@"Hello! The value is: %@", selected);
} cancelCallback:nil];
            
[self.actionSheetPicker presentPickerOnView:self.view];

就是这样。

你有不同的类方法来创建多列、日期和国家的选择器。参见.h文件。

自定义值

项可以是字符串或GKActionSheetPickerItem实例。如果您想在用户选择值时获取与显示的字符串不同的事物,应该使用此对象

NSArray *items = @[
                   [GKActionSheetPickerItem pickerItemWithTitle:@"Apple" value:@0],
                   [GKActionSheetPickerItem pickerItemWithTitle:@"Orange" value:@1],
                   [GKActionSheetPickerItem pickerItemWithTitle:@"Peach" value:@2],
                   [GKActionSheetPickerItem pickerItemWithTitle:@"Pearl" value:@3],
                   [GKActionSheetPickerItem pickerItemWithTitle:@"Tomato" value:@4]
                   ];

如果您正在使用字符串,将使用具有与标题相同值的GKActionSheetPickerItem创建item

设置当前值

您需要负责设置选择器的当前值。您可以在选择器被展示后进行此操作

// Present it
[self.actionSheetPicker presentPickerOnView:self.view];
            
// Set to previously selected value
[self.actionSheetPicker selectValue:self.twoRowsSelectedStrings[0] inComponent:0];
[self.actionSheetPicker selectValue:self.twoRowsSelectedStrings[1] inComponent:1];

注意:每个选择器类型都有不同的选择函数,例如单列选择器使用-selectValue:消息。

委托方法

如果您不喜欢回调,您可以使用类的简短版本并在您的类上实现 GKActionSheetPickerDelegate。当用户点击确认按钮时(-actionSheetPicker:didSelectValue:),在关闭选择器之前更改值时(-actionSheetPicker:didChangeValue:),以及取消选择时(-actionSheetPickerDidCancel:),委托将收到通知。将 delegate 属性设置为您的类并实现其中任何一个。

自定义

属性 描述
selectCallback 当用户点击确认按钮或点击选择器外部且 dismissTypeGKActionSheetPickerDismissTypeSelect 时调用的代码块。
cancelCallback 当用户点击取消按钮或点击选择器外部且 dismissTypeGKActionSheetPickerDismissTypeCancel 时调用的代码块。
selectButtonTitle 确认按钮上的标签。默认:确定
cancelButtonTitle 取消按钮上的标签。默认:取消
cancelButtonEnabled 是否在左侧显示取消按钮。默认为 YES
dismissType 控制用户点击选择器外部时发生的情况。默认:GKActionSheetPickerDismissTypeNone
overlayLayerColor 选择器上方的覆盖层的颜色。默认:透明的黑色。
标题 选择器的标题,将显示在按钮之间中心位置

更多示例

请参阅 示例头文件 以了解更多选项。

作者

Gruber Kristóf,电子邮件:[email protected],Twitter: @gklka

许可

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