我目前有2个UITableView
来过滤掉2个类别,
我的类别是猫和狗,第一个UITableView
处理猫,第二个UITableView
处理狗。
我想要的是将猫和狗放入一个UITableview,
所以在UITableView
中,第一部分是猫,第二部分是狗。我想要做的是在狗部分上面放一个按钮,它将用作两个类别的分隔符。
顶部的2个细胞是猫 并且底部的一个单元格是一只狗,在这两个类别的中间应该有一个按钮作为分隔符。
答案 0 :(得分:0)
试试这段代码。
@interface ViewController () <UITableViewDelegate, UITableViewDataSource> {
NSArray *arrCat;
NSArray *arrDog;
}
- (void)viewDidLoad {
[super viewDidLoad];
arrCat = @[@"Cat 1", @"Cat 2", @"Cat 3", @"Cat 4", @"Cat 5"];
arrDog = @[@"Dog 1", @"Dog 2", @"Dog3 ", @"Dog4 ", @"Dog 5"];
}
我以编程方式创建Header,您也可以通过创建xib来创建它。
像这样添加UITableView
委托和DataSource。
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 2;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (section == 0) {
return arrCat.count;
}
return arrDog.count;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentifier = @"TableViewCell";
TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[[NSBundle mainBundle] loadNibNamed:cellIdentifier owner:self options:nil] objectAtIndex:0];
}
if (indexPath.section == 0) {
cell.lblCategory.text = arrCat[indexPath.row];
}
else {
cell.lblCategory.text = arrDog[indexPath.row];
}
return cell;
}
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 60)];
view.backgroundColor = [UIColor greenColor];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = view.frame;
button.titleLabel.textAlignment = NSTextAlignmentCenter;
button.titleLabel.textColor = [UIColor blackColor];
[view addSubview:button];
if (section == 0) {
[button setTitle:@"CAT" forState:UIControlStateNormal];
}
else {
[button setTitle:@"DOG" forState:UIControlStateNormal];
}
return view;
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 60.0;
}