`
修博龙泉
  • 浏览: 318339 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ios开发 自定义UITableView cell

 
阅读更多
UITableCellViewController.h
#import <UIKit/UIKit.h>

@interface UITableCellViewController : UITableViewCell

    @property(nonatomic,retain) UILabel *lb_title;
    @property(nonatomic,retain) UILabel *lb_date;
    @property (nonatomic,retain) UILabel *lb_points;
    
    @property(nonatomic,retain) UILabel *lb_title_content;
    @property(nonatomic,retain) UILabel *lb_date_content;
    @property (nonatomic,retain) UILabel *lb_points_content;


@end

UITableCellViewController.m
//
//  UITableCellViewController.m
//  TableViewCell001
//
//  Created by Bo Xiu on 12-9-4.
//  Copyright (c) 2012年 Bo Xiu. All rights reserved.
//

#import "UITableCellViewController.h"

@interface UITableCellViewController ()

@end

@implementation UITableCellViewController

@synthesize lb_title = _lb_title ;
@synthesize lb_date  = _lb_date ;
@synthesize lb_points = _lb_points ;

@synthesize lb_title_content = _lb_title_content ;
@synthesize lb_date_content  = _lb_date_content ;
@synthesize lb_points_content = _lb_points_content ;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
    }
    return self;
}
-(id) init{
    [super init];
    
    if(self){
        [self setFrame:CGRectMake(0, 0, 320, 120)];
        self.backgroundColor = [UIColor blueColor];
        
        int height = 25 ;
        int middle_height = 5 ;
        
        UIColor * bgcolor = [UIColor yellowColor];
        
        _lb_title = [[UILabel alloc] initWithFrame:CGRectMake(20, 5 + height * 0 + middle_height * 0, 45, height )];
        _lb_title.backgroundColor = bgcolor;
        _lb_title.text = @"标题:";
        
        _lb_date = [[UILabel alloc] initWithFrame:CGRectMake(20, 5 + height * 1 + middle_height * 1, 45, height )];
        _lb_date.backgroundColor = bgcolor;
        _lb_date.text = @"时间:";
        
        _lb_points = [[UILabel alloc] initWithFrame:CGRectMake(20, 5 + height * 2+ middle_height * 2, 45, height)];
        _lb_points.backgroundColor = bgcolor;
        _lb_points.text = @"路标:";
        
        _lb_title_content = [[UILabel alloc] initWithFrame:CGRectMake(70, 5 + height * 0 + middle_height * 0, 240, height)];
        _lb_title_content.backgroundColor = bgcolor;
        _lb_title_content.text = @"--------------";
        
        _lb_date_content = [[UILabel alloc] initWithFrame:CGRectMake(70, 5 + height * 1 + middle_height * 1, 240, height)];
        _lb_date_content.backgroundColor = bgcolor;
        _lb_date_content.text = @"--------------";
        
        _lb_points_content = [[UILabel alloc] initWithFrame:CGRectMake(70, 5 + height * 2 + middle_height * 2, 240, height )];
        _lb_points_content.backgroundColor = bgcolor;
        _lb_points_content.text = @"--------------";
        
        
        
        [self addSubview:_lb_title];
        [self addSubview:_lb_points];
        [self addSubview:_lb_date];
        
        [self addSubview:_lb_title_content];
        [self addSubview:_lb_date_content];
        [self addSubview:_lb_points_content];
    }
    return  self ;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];
    
    // Configure the view for the selected state
}
@end



ViewController.m

//
//  ViewController.m
//  TableViewCell001
//
//  Created by Bo Xiu on 12-9-4.
//  Copyright (c) 2012年 Bo Xiu. All rights reserved.
//

#import "ViewController.h"
#import "UITableCellViewController.h"
@interface ViewController ()

@end

@implementation ViewController

@synthesize myView;

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
}

- (void)viewDidUnload
{
    [myView release];
    myView = nil;
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}
//指定有多少个分区(Section),默认为1
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

//指定每个分区中有多少行,默认为1
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return 5;
}

// 设置单元格的高度
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return 120;
}
//选中Cell响应事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];//选中后的反显颜色即刻消失
}
// 设置单元个样式
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//    static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";
//    
//    UITableCellViewController *cell = [tableView dequeueReusableCellWithIdentifier:
//                             SimpleTableIdentifier];
//    if (cell == nil) {
//        cell = [[[UITableCellViewController alloc] initWithStyle:UITableViewCellStyleDefault
//                                       reuseIdentifier: SimpleTableIdentifier] autorelease];
//    }
//    //cell.imageView.image=image;//未选cell时的图片
//    //cell.imageView.highlightedImage=highlightImage;//选中cell后的图片
//    cell.textLabel.text=@"hello";
//    return cell;
    static NSString *CellIdentifier = @"Cell";
    
    UITableCellViewController *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        //cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        //cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
        cell = [[[UITableCellViewController alloc ] init] autorelease] ;
    }
    
    // Configure the cell.
    //cell.textLabel.text = NSLocalizedString(@"Detail", @"Detail");
    return cell;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
    } else {
        return YES;
    }
}

- (void)dealloc {
    [myView release];
    [super dealloc];
}
@end

分享到:
评论

相关推荐

    IOS代码中使用自定义UITableView

    本篇文章将深入探讨如何在代码中实现自定义UITableView,以及在开发过程中应注意的关键点。 首先,创建自定义UITableView需要遵循UITableViewDataSource和UITableViewDelegate协议。这两个协议定义了表格视图的数据...

    iOS、UITableViewCell、自定义

    总之,自定义UITableViewCell和实现等高Cell是iOS开发中的常见任务。理解并熟练运用上述方法,能帮助开发者创建出更加美观且高效的用户界面。通过实践和调试,可以进一步提升代码质量,提供更好的用户体验。

    ios-长按即可移动cell的自定义UITableView.zip

    总之,“ios-长按即可移动cell的自定义UITableView”是一个优秀的iOS开发示例,展示了如何通过自定义UITableView的行为来实现更丰富的用户交互。开发者通过添加手势识别器、处理手势事件、更新数据源以及应用动画,...

    IOS自定义UITableView框架(社区风格)

    自定义UITableView框架能够根据项目需求打造出独特的用户界面和交互体验。本教程将聚焦于如何构建一个社区风格的UITableView框架,以提升应用的视觉吸引力和用户体验。 首先,我们要了解UITableView的基本结构。...

    ios-自定义Cell.zip

    在iOS开发中,自定义Cell是一项常见的任务,它允许开发者根据特定需求设计并展示复杂的UI元素,提升用户体验。本文将深入探讨如何在iOS项目中实现自定义Cell,并结合“图文混排”这一特性来增强界面的视觉效果。 ...

    swift中UITableView自定义cell添加与删除及表的刷新wift中UITableView自定义cell添加与删除及表的刷新

    以上就是在Swift中自定义UITableView的Cell,以及处理数据的添加、删除和刷新的基本操作。这只是一个基础的指南,实际项目中可能需要考虑更多细节,如动画效果、异步数据加载、错误处理等。通过不断地实践和学习,你...

    iOS自定义cell侧滑删除、编辑等按钮

    标题“iOS自定义cell侧滑删除、编辑等按钮”所提及的就是这种效果的实现方法。这里主要涉及的知识点包括UITableView的自定义行为、手势识别以及第三方库的使用。 首先,iOS原生的UITableView并不直接提供侧滑显示...

    UItableview cell (自定义)增假,删除 移动

    总之,自定义UITableViewCell并在UITableView中实现增删移功能,是iOS开发中常见的需求。这需要理解UITableView的工作原理,熟悉数据源和委托方法,以及掌握手势识别和动画处理。通过熟练掌握这些知识点,你可以构建...

    iOS-OC-自定义融云会话列表(自定义cell)

    总之,自定义融云会话列表需要结合融云SDK的API与iOS的UITableView机制,通过自定义Cell实现界面的个性化。这个过程中,良好的代码结构、性能优化以及用户体验设计都是至关重要的。通过不断的实践和迭代,我们可以...

    ios UITableView cell侧滑

    在iOS开发中,UITableView是展示数据列表常用的控件,而为UITableView的Cell添加侧滑功能可以为用户提供便捷的操作选项,比如删除、编辑等。本文将详细介绍如何实现“ios UITableView cell侧滑”这一功能,以及如何...

    iOS团购自定义cell代码

    在iOS应用开发中,自定义`UITableViewCell`是常见的需求,特别是在设计复杂的表格视图时,如团购页面。本文将深入探讨如何实现一个自定义的团购cell,并基于标题“iOS团购自定义cell代码”和描述“源代码是最基本的...

    ios uitableview cell的展开收缩功能

    标题"ios uitableview cell的展开收缩功能"涉及到的核心技术点包括`UITableViewDataSource`、`UITableViewDelegate`的协议方法以及自定义`UITableViewCell`。 1. **UITableViewDataSource**: - `...

    IOS之表视图UITableView自定义单元格

    总之,自定义UITableView单元格是iOS开发中常见的需求,它允许开发者根据具体应用的需要创建独特且富有表现力的列表界面。通过理解并实践上述步骤,开发者能够熟练掌握这一技能,从而为用户提供更加个性化的交互体验...

    ios-UITableView 相邻cell交换简单动画.zip

    在iOS开发中,UITableView是展示数据列表常用的控件,它允许用户进行滚动和交互操作。在某些场景下,我们可能需要实现自定义的动画效果,比如相邻cell的交换。这个"ios-UITableView 相邻cell交换简单动画.zip"项目...

    ios-UITableView的cell移动位置.zip

    综上所述,"ios-UITableView的cell移动位置.zip"的实现涵盖了UITableView的自定义行为、数据源管理、状态保存以及手势交互等多个知识点。通过这个示例,开发者可以学习如何扩展UITableView的基本功能,满足更复杂的...

    仿IOS式ListVIew UITableView

    在Android开发中,为了实现与iOS应用类似的列表展示效果,开发者常常会仿照iOS的UITableView来创建自定义的ListView。这个“仿IOS式ListVIew UITableView”项目正是一个旨在为Android平台提供类似功能的实现。以下...

    详解iOS开发中UITableview cell 顶部空白的多种设置方法

     这个应该是最常见而且不容易被发现的原因,起因是iOS7在Conttoller中新增了automaticallyAdjustsScrollViewInsets这个属性,当设置为YES时(默认YES),如果视图里面存在唯一一个UIScrollView或其子类View,那么它...

    iOS开发中UITableview控件的基本使用及性能优化

    在iOS应用开发中,`UITableView` 是一个至关重要的控件,用于展示列表或者表格数据,如通讯录、邮件列表等。本教程将深入探讨`UITableView`的基础使用以及性能优化策略。 首先,`UITableView`的基本使用涉及到以下...

    iOS+折叠文本+UITableView文本cell折叠

    在iOS开发中,实现“iOS+折叠文本+UITableView文本cell折叠”的功能,主要是为了优化用户界面,提高用户体验。这个功能允许在UITableView的Cell中显示大量的文本内容,而不会占用过多的屏幕空间。当用户点击Cell时,...

    IOS中自定义Cell

    在iOS开发中,自定义`UITableViewCell`是一种常见的需求,它能帮助我们实现更丰富的界面展示效果,提升用户体验。本文将详细讲解如何在Objective-C(OC)环境下为iOS应用自定义`UITableViewCell`,并以`...

Global site tag (gtag.js) - Google Analytics