VPPDropDown 0.3.0

VPPDropDown 0.3.0

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布最后发布2014年12月

未申报维护。



  • 页面在 CocoaPods.org 上

GitHub 仓库

VPPDropDown 是一个 iOS 库,允许您在表格视图中创建类似下拉菜单的菜单,就像在旧版 iPhone Twitter 3 中所看到的那样。

您可以创建三种不同的下拉菜单:

  • 披露,下拉单元格的子项被视为披露单元格,对于分组详细视图控制器非常有用。
  • 选择,下拉单元格的子项被视为选择单元格,对于编辑首选项非常有用。
  • 自定义,下拉单元格的子项应由委托进行装饰。

此项目包含一个使用它的示例应用程序。只需在 XCode 中打开项目,构建它并运行它即可。

有关完整文档,请查看 http://vicpenap.github.com/VPPDropDown

使用组件

首先使用任何构造函数创建一个下拉实例。例如

[[VPPDropDown alloc] initSelectionWithTitle:@"Selection Combo"
                                      tableView:self.tableView
                                      indexPath:[NSIndexPath indexPathForRow:kRowDropDownSelection inSection:kSection1] 
                                       delegate:self 
                                  selectedIndex:1
                                  elementTitles:@"Option 1", @"Option 2", @"Option 3", nil];

now, fill your table view data source and delegate, for example as follows

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    int rows = [VPPDropDown tableView:tableView numberOfExpandedRowsInSection:section];
    switch (section) {
        case kSection1:
            rows += kNumberOfRowsInSection1;
            break;
        case kSection2:
            rows += kNumberOfRowsInSection2;
            break;

        }
        return rows;
}

where and indicate the amount of rows for those sections, without taking into account whether the drop-downs are expanded or not.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    ...

    if ([VPPDropDown tableView:tableView dropdownsContainIndexPath:indexPath]) {
        return [VPPDropDown tableView:tableView cellForRowAtIndexPath:indexPath];
    }

    ...
}

and the delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    ...

    if ([VPPDropDown tableView:tableView dropdownsContainIndexPath:indexPath]) {
        [VPPDropDown tableView:tableView didSelectRowAtIndexPath:indexPath];
        return;
    }

    ...
}

now implement VPPDropDownDelegate and you're done!

阅读包含的示例应用程序以获取全面信息。

屏幕截图

变更日志

  • 2012/02/08 (0.3.0)
    • 添加了修改某些下拉状态属性的能力,例如 expanded 或 selectedIndex。
    • 添加了高度方法,以便能够根据相关下拉元素更改行的宽度。
  • 2012/02/08 (0.2.2)
    • 修复了导致崩溃的错误,该错误发生在第一个下拉单元格不是其部分的第一个单元格时。
  • 2012/02/08 (0.2.1)
    • 修复了在已使用过的索引路径中添加新下拉菜单时的错误。
  • 2012/02/04 (0.2.0)
    • 在展开下拉菜单时添加了智能滚动。
    • 弃用所有使用相对索引路径的方法。
  • 2011/01/24 (0.1.0)
    • 初始发布。

许可

版权所有 (c) 2012 Víctor Pena Placer (@vicpenap) http://www.victorpena.es/

以下条件,任何人获得本软件及其相关文档文件的副本(“软件”),免费许可此类软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或转售副件,并允许提供软件的人员这样做,以便在以下条件下操作

上述版权声明和本许可声明应包含在软件的任何副本或主要部分中。

软件按“现状”提供,不提供任何形式的保证,无论是明示的、暗示的还是其他的。包括但不限于对适销性、适用于特定目的和无侵权的保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论责任性质是合同、侵权或其他,源自、出于或与软件或软件的使用或其他有关。