首页 > 代码库 > 将一种cell当做几种cell使用
将一种cell当做几种cell使用
将一种cell当做几种cell使用
将一种cell当做几种cell用是有着一些意义的,比如,有时候,不同的cell之间差异很小,如果再派生一个cell出来,就会显得很麻烦,这时候,将这个cell当做几个cell用才有市场的说:)
效果:
源码:
ModelCell.h 与 ModelCell.m
//// ModelCell.h// Cells//// Copyright (c) 2014年 Y.X. All rights reserved.//#import <UIKit/UIKit.h>@interface ModelCell : UITableViewCell@property (nonatomic, assign) BOOL show1;@property (nonatomic, assign) BOOL show2;@property (nonatomic, assign) BOOL show3;@end
RootViewController.m
//// RootViewController.m// Cells//// Copyright (c) 2014年 Y.X. All rights reserved.//#import "RootViewController.h"#import "ModelCell.h"@interface RootViewController ()<UITableViewDataSource, UITableViewDelegate>@property (nonatomic, strong) UITableView *tableView;@property (nonatomic, strong) NSArray *dataSource;@end@implementation RootViewController- (void)viewDidLoad{ [super viewDidLoad]; // tableView _tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; _tableView.dataSource = self; _tableView.delegate = self; _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; [self.view addSubview:_tableView];}#pragma mark - UITableView‘s dataSource & delegate- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return 100;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *reusedFlag = @"YouXianMing"; ModelCell *cell = [tableView dequeueReusableCellWithIdentifier:reusedFlag]; if (cell == nil) { cell = [[ModelCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reusedFlag]; } cell.show1 = YES; cell.show2 = YES; cell.show3 = YES; return cell;}- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 100.f;}@end
核心的地方:
根据属性的setter方法动态隐藏cell中的某些控件
然后在配置cell的时候动态设定要显示的控件
just so easy :)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。