首页 > 其他 > 详细

将一种cell当做几种cell使用

时间:2014-08-18 20:24:32      阅读:452      评论:0      收藏:0      [点我收藏+]

将一种cell当做几种cell使用

bubuko.com,布布扣

将一种cell当做几种cell用是有着一些意义的,比如,有时候,不同的cell之间差异很小,如果再派生一个cell出来,就会显得很麻烦,这时候,将这个cell当做几个cell用才有市场的说:)

效果:

bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣

源码:

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中的某些控件

bubuko.com,布布扣

然后在配置cell的时候动态设定要显示的控件

bubuko.com,布布扣

just so easy :)

 

将一种cell当做几种cell使用,布布扣,bubuko.com

将一种cell当做几种cell使用

原文:http://www.cnblogs.com/YouXianMing/p/3911706.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!