在部分滚动栏上左右滑动以进行选择。本项目的灵感来源于8tracks iPhone应用
注意:KLHorizontalSelect旨在与iPhone/iPad/iPod Touch的纵向方向配合使用。
查看演示 由于我的电脑运行速度慢,请见谅图像问题和延迟。
将提供的KLHorizontalSelect.h, KLHorizontalSelect.m
文件拖到您的项目中。然后,在与二进制链接的库下包含以下框架
导入必需的文件并声明您的控制器来实现KLHorizontalSelect委托以接收回调
#import "KLHorizontalSelect.h"
@interface KLViewController : UIViewController <KLHorizontalSelectDelegate>
@property (nonatomic, strong) KLHorizontalSelect* horizontalSelect;
@end
初始化控件,并将数组字典设置为表格数据(请参阅提供的Plist以获取示例协议)
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[self.navigationController.navigationBar setTintColor:[UIColor colorWithRed:10/255.0 green:37/255.0 blue:70/255.0 alpha:1]];
//Initialize the informtion to feed the control
NSString* plistPath = [[NSBundle mainBundle] pathForResource: @"SectionData"
ofType: @"plist"];
// Build the array from the plist
NSArray* controlData = [[NSArray alloc] initWithContentsOfFile:plistPath];
// Do any additional setup after loading the view, typically from a nib.
self.horizontalSelect = [[KLHorizontalSelect alloc] initWithFrame: self.view.bounds];
[self.horizontalSelect setTableData: controlData];
[self.view addSubview: self.horizontalSelect];
}
实现可选的委托方法,以在选择新条目时通知
- (void) horizontalSelect:(id)horizontalSelect didSelectCell:(KLHorizontalSelectCell *)cell {
NSLog(@"Selected Cell: %@", cell.label.text);
}
可以通过更改KLHorizontalSelect.m
中的常量来调整视觉外观
//Control Properties
#define kDefaultCellWidth 80.0 //The width of each of the items
#define kDefaultCellHeight 90 //Height of the items/control
#define kDefaultGradientTopColor [UIColor colorWithRed: 242/255.0 green: 243/255.0 blue: 246/255.0 alpha: 1] //Top Gradient Color
#define kDefaultGradientBottomColor [UIColor colorWithRed: 197/255.0 green: 201/255.0 blue: 204/255.0 alpha: 1] //Bottom Gradient Color
#define kDefaultLabelHeight 20.0 //Adjusts the height of the label
#define kDefaultImageHeight 60.0 //Adjusts the height of the image
//Arrow properties
#define kHeaderArrowWidth 40.0 //Adjusts the width of the selection arrow
#define kHeaderArrowHeight 15.0 //Adjusts the width of the selection arrow
//Shadow properties
#define kDefaultShadowColor [UIColor blackColor]
#define kDefaultShadowOffset CGSizeMake(0.0, 3.0)
#define kDefaultShadowOpacity 0.96
版权所有 (c) 2012 Kieran Lafferty
以下人员获准免费获得该软件及其关联文档副本(“软件”),任何人可以在不受限制的情况下处理该软件,包括但不限于对使用、复制、修改、合并、发布、分发、再许可和/或出售副本的权利,并允许向提供该软件的人员提供服务进行上述行为,但受以下条件约束
以上版权声明和本许可声明应包含在软件的所有副本或实质性部分中。
该软件按“现状”提供,不提供任何明示或默示的保证,包括但不限于对适销性、针对特定目的的适用性和非侵权的保证。在任何情况下,作者或版权持有者均不对因使用或与该软件或其使用或其他方式而产生的任何索赔、损害或其他责任负责,无论该责任是根据合同、侵权或任何其他原因产生。