自定义TableViewCell

BookStoreCell.h

#import <UIKit/UIKit.h>

@interface BookStoreCell : UITableViewCell

@property (strong, nonatomic) UIImageView *bookImageView;
@property (strong, nonatomic) UILabel *nameLabel;
@property (strong, nonatomic) UILabel *authorLabel;
@property (strong, nonatomic) UILabel *summaryLabel;
@end

BookStoreCell.m

#import "BookStoreCell.h"

@implementation BookStoreCell
@synthesize bookImageView;
@synthesize nameLabel;
@synthesize authorLabel;
@synthesize summaryLabel;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    NSLog(@"INIT");
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
        [self initSubview];
    }
    return self;
}

- (void)initSubview
{
    CGRect rect = self.frame;

    bookImageView = [[UIImageView alloc]init];
    bookImageView.frame = CGRectMake(10, 2, 55, 75);
    bookImageView.backgroundColor = [UIColor yellowColor];
    [self addSubview:bookImageView];

    nameLabel = [[UILabel alloc]init];
    nameLabel.frame = CGRectMake(75, 2, rect.size.width - 75, 50);
    nameLabel.font = [UIFont fontWithName:@"Arial" size:20];
    [self addSubview:nameLabel];

    authorLabel = [[UILabel alloc]init];
    authorLabel.frame = CGRectMake(75, 42, rect.size.width - 75, 30);
    authorLabel.font = [UIFont fontWithName:@"Arial" size:15];
    [self addSubview:authorLabel];

    summaryLabel = [[UILabel alloc]init];
    //[self addSubview:summaryLabel];
}

- (void)awakeFromNib
{
    // Initialization code
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    //[super setSelected:selected animated:animated];
}

@end

使用自定义的Cell

#import "BookStoreViewController.h"
#import "BookStoreCell.h"

@interface BookStoreViewController ()

@end

@implementation BookStoreViewController

- (id)initWithStyle:(UITableViewStyle)style
{

    self = [super initWithStyle:style];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    // 注册自定义的TableViewCell
    [self.tableView registerClass: [BookStoreCell class] forCellReuseIdentifier:@"MYCell"];
    self.tableView.backgroundColor = [UIColor lightGrayColor];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 6;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 用注册的名字实例化Cell
    BookStoreCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MYCell" forIndexPath:indexPath];
    if (cell == nil) {
        cell = [[BookStoreCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MYCell"];
    }
    cell.nameLabel.text = @"笑傲江湖";
    cell.authorLabel.text = @"金庸";
    return cell;
}

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    //行选中事件
    NSLog(@"%ld", (long)indexPath.row);

}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return 80;
}
时间: 2024-10-10 14:39:51

自定义TableViewCell的相关文章

[爱上Swift] day 6:在TableView中加载自定义TableViewCell

前言 TableView可以帮助我们现实通用的列表样式,如这样: 但是我们有时有需要一些更具定制化的Cell,比如: 也就是说我们会在Cell中布局一些空间,更丰富的显示我们的信息. 让代码飞一会儿 首先我们自定义一个Swift class继承TableViewCell: import UIKit class CustomOneCell: UITableViewCell { @IBOutlet weak var middleLabel: UILabel! @IBOutlet weak var l

用UISlider控制自定义tableViewCell中字体的大小

字体随滑杆的滑动而变大或变小.用滑杆去控制字体的大小很简单,但用字体去控制自定义tableViewcell内字体的大小也很简单,只不过第一次做的时候可能要摸索一下,这里我就简单的给大家演示一下: 这是一个按钮,点击按钮弹出一个带有slider的view - (IBAction)btnClick:(id)sender { UIView *sliderView = [[UIView alloc]initWithFrame:CGRectMake(self.view.frame.size.width-1

自定义TableViewCell 的方式实现自定义TableView(带源码)

转载于:http://www.cnblogs.com/macroxu-1982/archive/2012/08/30/2664121.html 实现的效果 实现过程 Step One 创建 自定义TableViewCell (接口部分)  (类实现部分)  xib 实现部分 注意: 下面三个设置 1 设置xib文件的class 2设置Identifier 3 设置文本框和类的关联   Step Two 实现TableView   源码下载:tablebyselfcell.zip

ios 自定义tableViewcell,UITableViewCell

//自定义tableViewcell,当系统自带的tableView样式无法满足我们的需求可通过代码实现自定义cell demo效果看附件 #import <UIKit/UIKit.h> #import "Houses.h" #define kRowWidth [UIScreen mainScreen].bounds.size.width #define kRowHeight 90 @interface HouseTableViewCell : UITableViewCel

自定义tableViewCell的侧滑删除按钮

有时候客户会有一些特殊的要求,更改tableViewCell的侧滑删除按钮的样子就是其中之一,就像这样: 这个效果其实也不难,只需在自定义的cell里重写layoutSubviews方法就好,具体代码如下: //修改删除模式的样式 -(void)layoutSubviews { [super layoutSubviews]; for (UIView *subView in self.subviews) { if([subView isKindOfClass:NSClassFromString(@

Swift实现自定义TableViewCell

虽然SDK里面自带的TableViewCell功能已经算强大了,但是很多时候,我们还是需要自定义的Cell来满足我们自己的需求.最近研究了下如何用Swift实现自定义的TableViewCell,记录一下吧. 1. 点击左下角的加号,添加新的类 XCode6.3 做了一些小改动,整合了一下,点击File,然后进行下一步: 2. 这里可以给你自己的TableViewCell修改名字,记得把"Also create XIB file"前面的复选框选中 3. 设计你自己想要的XIB样式.Au

【原】自定义tableViewCell的两种方法

1.通过xib文件创建自定义cell ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UITableViewController<UITableViewDelegate, UITableViewDataSource> @property (strong, nonatomic) NSArray *listTeams; @end ViewController.m #import "Vie

[iOS基础控件 - 6.6] 展示团购数据 自定义TableViewCell

A.需求 1.头部广告 2.自定义cell:含有图片.名称.购买数量.价格 3.使用xib设计自定义cell,自定义cell继承自UITableViewCell 4.尾部“加载更多按钮”,以及其被点击之后的数据加载刷新.动画效果 B.实现 1.使用MVC M:团购Model V:总View.cell的View(包含类和界面) C:ViewController 2.分类管理代码文件 3.尾部footerView “加载更多"功能 1 // 设置尾部控件 2 self.tableView.table

使用Xib自定义tableViewCell

一.实现步骤 1.新建一个XIB文件:描述cell——tableCell.xib 2.新建UITableViewCell的子类,也就是cell文件:封装XIB内部的所有东西——TestCell.m \Testcell.h 2.1 在cell文件中拥有XIB中的所有子控件 (包括生命属性,进行连线) 2.2 给cell增加模型属性,即通过重写set方法,根据模型属性设置cell内部子控件的属性 : (这一步是从控制器解放抽取出来放在cell中) 2.3 提供一个类方法testCell,使得返回从X