#import "TaskColumnView.h"
@interface TaskColumnView : UIScrollView
- (instancetype)initWithFrame:(CGRect)frame;
@end
@implementation TaskColumnView
- (instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
[self setButtons];
}
return self;
}
- (void)setButtons{
CGFloat width = 100.0;
CGFloat height = 50.0;
UIButton *button;
NSString *path = [[NSBundle mainBundle] pathForResource:@"TaskDistribution" ofType:@"plist"];
NSArray *array = [NSArray arrayWithContentsOfFile:path];
for (int i=0; i < [array count]; i++) {
button = [[UIButton alloc] initWithFrame:CGRectMake(width*i, 0, width, height)];
[button setTitle:[array[i] objectForKey:@"name"] forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
[button setTag:[[array[i] objectForKey:@"catid"] intValue]];
[self addSubview:button];
}
}
- (void)buttonClick:(UIButton *)button{
}
@end
#import "MyLiabilityViewController.h"
#import "TaskColumnView.h"
@interface MyLiabilityViewController : UIViewController <UIScrollViewDelegate,UIToolbarDelegate>
{
CGFloat _buttonWidth;
}
@property(nonatomic,retain)UIScrollView *navView;
@property(nonatomic, retain)TaskColumnView *columnView;
@property(nonatomic,strong)NSArray *columns;
@property(nonatomic,retain)UIScrollView *scrollView;
@property(nonatomic,strong)NSMutableArray *columnButtons;
@property(nonatomic,retain)UIToolbar *toolbar;
#import "MyLiabilityViewController.m"
//菜单栏
_toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, SWIDTH, 50)];
[_toolbar setHidden:NO];
[_toolbar setDelegate:self];
[_toolbar setBackgroundImage:[UIImage imageNamed:@"bg.png"] forToolbarPosition:UIBarPositionTop barMetrics:UIBarMetricsDefault];
[_toolbar setClipsToBounds:NO];
[self.view addSubview:_toolbar];
//导航栏
_navView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, SWIDTH, 50)];
_navView.delegate = self;
_navView.showsHorizontalScrollIndicator = YES;
[_toolbar addSubview:_navView];
topShadowImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 49, SWIDTH/5, 1)];
[topShadowImageView setImage:[UIImage imageNamed:@"icon-selected-slide-image.png"]];
[_navView addSubview:topShadowImageView];
_scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
_scrollView.originY = 51;
_scrollView.height-= 50;
_scrollView.pagingEnabled = YES;
_scrollView.showsVerticalScrollIndicator = NO;
_scrollView.showsHorizontalScrollIndicator = NO;
_scrollView.delegate = self;
_scrollView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
_scrollView.backgroundColor = [UIColor bgColor];
// [self.view addSubview:_scrollView];
NSString *path = [[NSBundle mainBundle] pathForResource:@"TaskDistribution" ofType:@"plist"];
self.columns = [NSArray arrayWithContentsOfFile:path];
self.columnButtons = [NSMutableArray array];
_buttonWidth = SWIDTH/5;
_navView.contentSize = CGSizeMake(_buttonWidth*[self.columns count], 0);
for (int i = 0; i < [self.columns count]; i++) {
NSDictionary *column = self.columns[i];
//添加导航按钮
UIButton *columnButton = [[UIButton alloc] initWithFrame:CGRectMake(_buttonWidth*i, 10, _buttonWidth, 30)];
[columnButton.layer setCornerRadius:3.0];
[columnButton.layer setMasksToBounds:YES];
[columnButton.titleLabel setFont:[UIFont fontWithName:DSXFontStyleMedinum size:16.0]];
[columnButton setTag:[[column objectForKey:@"catid"] integerValue]];
[columnButton setTitle:[column objectForKey:@"name"] forState:UIControlStateNormal];
[columnButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[columnButton setTitleColor:[UIColor redColor] forState:UIControlStateSelected];
[columnButton addTarget:self action:@selector(columnButtonClick:) forControlEvents:UIControlEventTouchUpInside];
[_navView addSubview:columnButton];
[self.columnButtons addObject:columnButton];
}
[self.columnButtons[0] setSelected:YES];//默认选中
_scrollView.contentSize = CGSizeMake(SWIDTH*[self.columns count], 0);
_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 50, SWIDTH, SHEIGHT-115)];
_tableView.delegate = self;
_tableView.dataSource = self;
[self.view addSubview:_tableView];
[_tableView registerClass:[ResponsibilityTaskTableViewCell class] forCellReuseIdentifier:@"aCell"];
array = [[NSMutableArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"ResponsibilityTask" ofType:@"plist"]];
//栏目按钮点击事件
- (void)columnButtonClick:(UIButton *)button{
NSInteger index = 0;
for (int i=0; i<[self.columnButtons count]; i++) {
if (self.columnButtons[i] == button) {
index = i;
// [UIView animateWithDuration:0.25 animations:^{
// [topShadowImageView setFrame:CGRectMake(button.frame.origin.x, 49, (SWIDTH-100)/5, 1)];
// } completion:^(BOOL finished) {
// if (finished) {
// _scrollView需要展示的内容
//
// }
// }];
[UIView animateWithDuration:0.1 animations:^{
[topShadowImageView setFrame:CGRectMake(button.frame.origin.x, 49, SWIDTH/5, 1)];
}];
}
[self.columnButtons[i] setSelected:NO];
}
[button setSelected:YES];
[_scrollView setContentOffset:CGPointMake(SWIDTH*index, _scrollView.contentOffset.y) animated:YES];
}
原文版权归作者所有,转载请注明出处
@interface TaskColumnView : UIScrollView
- (instancetype)initWithFrame:(CGRect)frame;
@end
@implementation TaskColumnView
- (instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
[self setButtons];
}
return self;
}
- (void)setButtons{
CGFloat width = 100.0;
CGFloat height = 50.0;
UIButton *button;
NSString *path = [[NSBundle mainBundle] pathForResource:@"TaskDistribution" ofType:@"plist"];
NSArray *array = [NSArray arrayWithContentsOfFile:path];
for (int i=0; i < [array count]; i++) {
button = [[UIButton alloc] initWithFrame:CGRectMake(width*i, 0, width, height)];
[button setTitle:[array[i] objectForKey:@"name"] forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
[button setTag:[[array[i] objectForKey:@"catid"] intValue]];
[self addSubview:button];
}
}
- (void)buttonClick:(UIButton *)button{
}
@end
#import "MyLiabilityViewController.h"
#import "TaskColumnView.h"
@interface MyLiabilityViewController : UIViewController <UIScrollViewDelegate,UIToolbarDelegate>
{
CGFloat _buttonWidth;
}
@property(nonatomic,retain)UIScrollView *navView;
@property(nonatomic, retain)TaskColumnView *columnView;
@property(nonatomic,strong)NSArray *columns;
@property(nonatomic,retain)UIScrollView *scrollView;
@property(nonatomic,strong)NSMutableArray *columnButtons;
@property(nonatomic,retain)UIToolbar *toolbar;
#import "MyLiabilityViewController.m"
//菜单栏
_toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, SWIDTH, 50)];
[_toolbar setHidden:NO];
[_toolbar setDelegate:self];
[_toolbar setBackgroundImage:[UIImage imageNamed:@"bg.png"] forToolbarPosition:UIBarPositionTop barMetrics:UIBarMetricsDefault];
[_toolbar setClipsToBounds:NO];
[self.view addSubview:_toolbar];
//导航栏
_navView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, SWIDTH, 50)];
_navView.delegate = self;
_navView.showsHorizontalScrollIndicator = YES;
[_toolbar addSubview:_navView];
topShadowImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 49, SWIDTH/5, 1)];
[topShadowImageView setImage:[UIImage imageNamed:@"icon-selected-slide-image.png"]];
[_navView addSubview:topShadowImageView];
_scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
_scrollView.originY = 51;
_scrollView.height-= 50;
_scrollView.pagingEnabled = YES;
_scrollView.showsVerticalScrollIndicator = NO;
_scrollView.showsHorizontalScrollIndicator = NO;
_scrollView.delegate = self;
_scrollView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
_scrollView.backgroundColor = [UIColor bgColor];
// [self.view addSubview:_scrollView];
NSString *path = [[NSBundle mainBundle] pathForResource:@"TaskDistribution" ofType:@"plist"];
self.columns = [NSArray arrayWithContentsOfFile:path];
self.columnButtons = [NSMutableArray array];
_buttonWidth = SWIDTH/5;
_navView.contentSize = CGSizeMake(_buttonWidth*[self.columns count], 0);
for (int i = 0; i < [self.columns count]; i++) {
NSDictionary *column = self.columns[i];
//添加导航按钮
UIButton *columnButton = [[UIButton alloc] initWithFrame:CGRectMake(_buttonWidth*i, 10, _buttonWidth, 30)];
[columnButton.layer setCornerRadius:3.0];
[columnButton.layer setMasksToBounds:YES];
[columnButton.titleLabel setFont:[UIFont fontWithName:DSXFontStyleMedinum size:16.0]];
[columnButton setTag:[[column objectForKey:@"catid"] integerValue]];
[columnButton setTitle:[column objectForKey:@"name"] forState:UIControlStateNormal];
[columnButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[columnButton setTitleColor:[UIColor redColor] forState:UIControlStateSelected];
[columnButton addTarget:self action:@selector(columnButtonClick:) forControlEvents:UIControlEventTouchUpInside];
[_navView addSubview:columnButton];
[self.columnButtons addObject:columnButton];
}
[self.columnButtons[0] setSelected:YES];//默认选中
_scrollView.contentSize = CGSizeMake(SWIDTH*[self.columns count], 0);
_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 50, SWIDTH, SHEIGHT-115)];
_tableView.delegate = self;
_tableView.dataSource = self;
[self.view addSubview:_tableView];
[_tableView registerClass:[ResponsibilityTaskTableViewCell class] forCellReuseIdentifier:@"aCell"];
array = [[NSMutableArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"ResponsibilityTask" ofType:@"plist"]];
//栏目按钮点击事件
- (void)columnButtonClick:(UIButton *)button{
NSInteger index = 0;
for (int i=0; i<[self.columnButtons count]; i++) {
if (self.columnButtons[i] == button) {
index = i;
// [UIView animateWithDuration:0.25 animations:^{
// [topShadowImageView setFrame:CGRectMake(button.frame.origin.x, 49, (SWIDTH-100)/5, 1)];
// } completion:^(BOOL finished) {
// if (finished) {
// _scrollView需要展示的内容
//
// }
// }];
[UIView animateWithDuration:0.1 animations:^{
[topShadowImageView setFrame:CGRectMake(button.frame.origin.x, 49, SWIDTH/5, 1)];
}];
}
[self.columnButtons[i] setSelected:NO];
}
[button setSelected:YES];
[_scrollView setContentOffset:CGPointMake(SWIDTH*index, _scrollView.contentOffset.y) animated:YES];
}
原文版权归作者所有,转载请注明出处