您的位置:首页 > 其它

分级列表显示

2016-02-24 00:00 302 查看


这是个效果图

设计思想是,使用左右两个tableview分别展示

NSArray * _allArr;
NSMutableArray * _rightArr;
UITableView * _leftTableView;
UITableView * _rightTableView;

初始化

_arr = @[@{@"全部":@[ @"棉花", @"小麦", @"水稻", @"甘蔗", @"葡萄", @"玉米", @"花生", @"葡萄", @"玉米", @"花生"]}, @{@"大田作物":@[@"小麦", @"水稻", @"甘蔗"]}, @{@"经济作物":@[@"棉花", @"小麦", @"水稻", @"甘蔗"]}, @{@"蔬菜作物":@[@"小麦", @"水稻", @"甘蔗", @"葡萄", @"玉米"]}, @{@"水果作物":@[@"葡萄", @"玉米", @"花生"]}];
_rightArr = [[_arr[0] allValues] firstObject];

创建视图

_leftTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width / 2, 0)];
_rightTableView = [[UITableView alloc] initWithFrame:CGRectMake(self.view.frame.size.width / 2, 0, self.view.frame.size.width / 2, 0)];

- (void)buttonAction {
[UIView animateWithDuration:0.3 animations:^{
_leftTableView.frame = CGRectMake(0, 0, self.view.frame.size.width / 2, 44 * 5);
_rightTableView.frame = CGRectMake(self.view.frame.size.width / 2, 0, self.view.frame.size.width / 2, 44 * 8);
}];
}

numberOfRow

if (tableView == _rightTableView) {
return _rightArr.count;
}
return _arr.count;

uitableViewCell

if (tableView == _leftTableView) {
cell.textLabel.text = [[_arr[indexPath.row] allKeys] firstObject];
} else {
cell.textLabel.text = _rightArr[indexPath.row];
}

didselect

_rightArr = [[_arr[indexPath.row] allValues] firstObject];
if (_rightArr.count < 9) {
_rightTableView.frame = CGRectMake(self.view.frame.size.width / 2, 0, self.view.frame.size.width / 2, 44 * _rightArr.count);
} else {
_rightTableView.frame = CGRectMake(self.view.frame.size.width / 2, 0, self.view.frame.size.width / 2, 44 * 8);
}
[_rightTableView reloadData];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: