点击折叠 1.0.1

CollapseClick 1.0.1

测试已测试
语言语言 Obj-CObjective C
许可协议 自定义
发布最新发布2014年12月

未声明 维护。



  • 作者:
  • Ben Gordon

这是一个可折叠列表,其功能类似于 UITableView,但是你可以通过点击来折叠和展开单元格。传递 UIViews 以指定单元格展开时显示的内容。通过委托机制工作,类似于 UITableView。这是一个 UIScrollView 子类。 屏幕截图

安装

将随附的 CollapseClick.m, CollapseClick.h, CollapseClickCell.m, CollapseClickCell.h, CollapseClickCell.xib, CollapseClickArrow.h, CollapseClickArrow.m 文件拖放到你的项目中。它们位于顶层目录 CollapseClick 中。你还可以使用随附的 Xcode 项目查看如何使用这些文件。

将 CollapseClick.h 导入到你的 ViewController.h 文件中。接下来,在 InterfaceBuilder 中,将 UIScrollView 拖放到 ViewController 中。点击身份检查器(Xcode 右侧面板中从左数第三个图标)并更改类为 CollapseClick。将 CollapseClick 连接到 ViewController.h 文件。现在添加 CollapseClickDelegate。你的界面现在应该如下所示

#import <UIKit/UIKit.h>
#import "CollapseClick.h"

@interface ViewController : UIViewController <CollapseClickDelegate> {
  __weak IBOutlet CollapseClick *myCollapseClick;
}

@end

现在你可以开始编写头部代码了。切换到 ViewController.m 并确保在 ViewDidLoad 中设置委托。

myCollapseClick.CollapseClickDelegate = self;

CollapseClick 通过委托机制工作,类似于 UITableView 如何获取并显示其数据。有 7 个委托方法可以实施,其中 3 个是必需的

必需委托方法

-(int)numberOfCellsForCollapseClick {
    return (int)newInt;
}

此方法相当清晰,就是显示的 CollapseClick 单元格数量。通常,你会使用类似于 UITableView,此处返回的是数据数组的 count。

-(NSString *)titleForCollapseClickAtIndex:(int)index {
    return (NSString*)newTitle;
}

此方法仅设置每个 CollapseClick 单元格的标题标签文本。

-(UIView *)viewForCollapseClickContentViewAtIndex:(int)index {
    return (UIView *)contentView;
}

此方法设置每个 CollapseClick 单元格的 ContentView 属性。这是最有意思的部分。你可以使用程序创建的 UIView,或使用在 Interface Builder 中创建的 UIView 的实例变量。只要它是 UIView,此方法就会将其放入 CollapseClick 单元格的可折叠部分。

可选委托方法

-(UIColor *)colorForCollapseClickTitleViewAtIndex:(int)index {
    return (UIColor *)color;
}

此方法设置 CollapseClick 单元格标题或 TitleView 的背景颜色。在上述截图中对应的是红色区域。默认值为 [UIColor colorWithWhite:0.4 alpha:1.0]

-(UIColor *)colorForTitleLabelAtIndex:(int)index {
    return (UIColor *)color;
}

此方法设置标题标签的 textColor 属性。默认值为 [UIColor colorWithWhite]

-(UIColor *)colorForTitleArrowAtIndex:(int)index {
    return (UIColor *)color;
}

此方法用于设置每个CollapseClick Cell右侧箭头的颜色。默认颜色为:UIColor colorWithWhite:0.0 alpha:0.35

-(void)didClickCollapseClickCellAtIndex:(int)index isNowOpen:(BOOL)open; {
    // Do something here if you wish
}

此方法允许在点击CollapseClick Cell之后运行任何方法,并通知你cell现在是打开状态(如果为FALSE,则为关闭状态)。

额外的CollapseClick方法

-(void)reloadCollapseClick;

此方法将重新绘制和布局你的CollapseClick视图。在你对与CollapseClick一起使用的数据进行更改后,请调用此方法。

-(CollapseClickCell *)collapseClickCellForIndex:(int)index;

此方法将返回指定索引处的整个CollapseClickCell。下面还有返回仅为ContentView的方法。

-(UIView *)contentViewForCellAtIndex:(int)index;

此方法将返回指定索引处的CollapseClickCell的ContentView。

-(void)scrollToCollapseClickCellAtIndex:(int)index animated:(BOOL)animated;

此方法将滚动CollapseClick到指定索引的cell。你可以选择是否将此过程动画化。

-(void)openCollapseClickCellAtIndex:(int)index animated:(BOOL)animated;

-(void)closeCollapseClickCellAtIndex:(int)index animated:(BOOL)animated;

这些方法允许你通过编程方式打开或关闭CollapseClickCell,并对该过程进行动画处理。

-(void)openCollapseClickCellsWithIndexes:(NSArray *)indexArray animated:(BOOL)animated;

-(void)closeCollapseClickCellsWithIndexes:(NSArray *)indexArray animated:(BOOL)animated;

这些方法允许你通过编程方式一次打开或关闭多个CollapseClickCell,并对该过程进行动画处理。为此,创建一个包含NSNumbers的NSArray。每个NSNumber将对应你想要打开/关闭的cell的索引。

种瓜得瓜!

该项目在标准的MIT许可证下发布。请随意使用并扭曲它,并推荐任何酷炫的更改来帮助改进代码。