测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2016年11月 |
由 Erik Ackermann 和 Dustin Burge 维护。
一个简单的水平滚动项目列表,可以用作更灵活的 UISegmentedControl 替代。
一个简单的侧边滚动项目列表(可能是UITableView下面的过滤器)。
要开始使用 HTHorizontalSelectionList,请导入主头文件
#import <HTHorizontalSelectionList/HTHorizontalSelectionList.h>
水平的选项列表使用数据源/代理模型(类似于 UITableView 或 UIPickerView)。要设置一个简单的水平选项列表,初始化视图并设置其代理和数据源
@interface CarListViewController () <HTHorizontalSelectionListDataSource, HTHorizontalSelectionListDelegate>
@property (nonatomic, strong) HTHorizontalSelectionList *selectionList;
@property (nonatomic, strong) NSArray *carMakes;
@end
@implementation CarListViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.selectionList = [[HTHorizontalSelectionList alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 30)];
selectionList.delegate = self;
selectionList.dataSource = self;
self.carMakes = @[@"ALL CARS",
@"AUDI",
@"BITTER",
@"BMW",
@"BÜSSING",
@"GUMPERT",
@"MAN"];
}
#pragma mark - HTHorizontalSelectionListDataSource Protocol Methods
- (NSInteger)numberOfItemsInSelectionList:(HTHorizontalSelectionList *)selectionList {
return self.carMakes.count;
}
- (NSString *)selectionList:(HTHorizontalSelectionList *)selectionList titleForItemWithIndex:(NSInteger)index {
return self.carMakes[index];
}
#pragma mark - HTHorizontalSelectionListDelegate Protocol Methods
- (void)selectionList:(HTHorizontalSelectionList *)selectionList didSelectButtonWithIndex:(NSInteger)index {
// update the view for the corresponding index
}
HTHorizontalSelectionList 有许多可配置的属性。
要根据以下方法调整按钮的字体和颜色:
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
- (void)setTitleFont:(UIFont *)font forState:(UIControlState)state;
默认(未选择)状态由 UIControlStateNormal 配置。选项列表可以配置为三种状态:UIControlStateNormal、UIControlStateHightlighted 和 UIControlStateSelected。如果没有为选中或高亮状态指定显式颜色或字体,控件将回退到正常样式。
可以使用以下属性配置选择指示符的外观
@property (nonatomic, strong) UIColor *selectionIndicatorColor;
@property (nonatomic) HTHorizontalSelectionIndicatorStyle selectionIndicatorStyle;
有三个选择样式
typedef NS_ENUM(NSInteger, HTHorizontalSelectionIndicatorStyle) {
HTHorizontalSelectionIndicatorStyleBottomBar, // Default
HTHorizontalSelectionIndicatorStyleButtonBorder,
HTHorizontalSelectionIndicatorStyleNone
};
要配置底部的栏高,请使用
@property (nonatomic) CGFloat selectionIndicatorHeight;
默认高度为 3 点。要调整此底部栏在标签之外的扩展宽度,请使用
@property (nonatomic) CGFloat selectionIndicatorHorizontalPadding;
默认水平内边距为 7.5 点。这些属性只在选择样式为 HTHorizontalSelectionIndicatorStyleBottomBar 时生效。
可以使用此属性调整选择指示器的回弹效果
@property (nonatomic) HTHorizontalSelectionIndicatorAnimationMode selectionIdicatorAnimationMode;
您可以调整每个按钮的内容内边距:
@property (nonatomic) UIEdgeInsets buttonInsets;
设置 bottomTrimColor
改变细底部边框的外观
@property (nonatomic, strong) UIColor *bottomTrimColor;
@property (nonatomic) BOOL bottomTrimHidden;