A simple, powerful pop-up menu view
设计仿照了系统的 UITableView,其实内部的实现也是一个使用了系统的UITableView。依于此,我们可以使用- registSheetControllerCell:forStyle:大大提高扩展性.
由于仿照了UITableView的设计思路,所以,你可以像使用UITableView一样,使用LYShetController.
// init
LYSheetController *sheet = [[LYSheetController alloc] init];
// or LYSheetController *sheet = [[LYSheetController alloc] initWithDataSource:datasource];
sheet.delegate = self;
// show
[sheet showSheetControllerWithAnimated:YES completionHandler:nil];
// dismiss
[sheet dismissSheetControllerWithAnimated:YES completionHandler:nil];
// action handle
- (void)sheetController:(LYSheetController *)sheetController didSelectRowAtIndexPath:(NSInteger)indexPath;
此外, LYSheetController还支持高度自定义。
在0.0.2时候,把继承子类的自定义方式变为了遵守协议:LYSheetModel - 自定义数据Model,LYSheetCell - 自定义Cell,大大提高了灵活性。所以,你可以自定义任何Cell,LYSheetCell中没有任何必须要遵守的协议,只是给你提供了一些比较常用的,以方便你使用。LYSheetModel则不同,你必须实现sheetStyle属性,因为LYSheetController需要知道sheetCell 是那种类型才能在复用池中取。
具体可以参考仓库中的 Demo。
把继承子类改为面向协议
支持头部视图
支持横屏
LYSheetController is released under a MIT License. See LICENSE file for details.