`
zcw_java
  • 浏览: 303038 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UITableViewCell自定义

 
阅读更多
添加到选中cell中,每一个cell闪烁1秒
[tableView deselectRowAtIndexPath:indexPath animated:YES];

设置cell背景色和背景图
UIView *backgrdView = [[UIView alloc] initWithFrame:cell.frame];
backgrdView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"tabCell_background.png"]];
cell.backgroundView = backgrdView;


如果是自定义cell,需要注意
设置背景和组件
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
        self.contentView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"tmall_bg_main"]];
        self.logo = [[[UIImageView alloc] initWithFrame:CGRectMake(5, 5, 70, 70)] autorelease];
        self.logo.backgroundColor = [UIColor clearColor];
        [self.contentView addSubview:self.logo];
        
        self.title = [[[UILabel alloc] initWithFrame:CGRectMake(80, 20, 230, 20)] autorelease];
        self.title.font = [UIFont systemFontOfSize:16.0f];
        self.title.backgroundColor = [UIColor clearColor];
        self.title.opaque = NO;
        [self.contentView addSubview:self.title];
        
        self.subTtile = [[[UILabel alloc] initWithFrame:CGRectMake(80, 40, 230, 14)] autorelease];
        self.subTtile.font = [UIFont systemFontOfSize:12.0f];
        self.subTtile.textColor = [UIColor colorWithRed:158/255.0 
                                                  green:158/255.0 
                                                   blue:158/255.0 
                                                  alpha:1.0];
        self.subTtile.backgroundColor = [UIColor clearColor];
        self.subTtile.opaque = NO;
        [self.contentView addSubview:self.subTtile];
        
        UILabel *sLine1 = [[[UILabel alloc] initWithFrame:CGRectMake(0, 78, 320, 1)] autorelease];
        sLine1.backgroundColor = [UIColor colorWithRed:198/255.0 
                                                 green:198/255.0 
                                                  blue:198/255.0 
                                                 alpha:1.0];
        UILabel *sLine2 = [[[UILabel alloc] initWithFrame:CGRectMake(0, 79, 320, 1)] autorelease];
        sLine2.backgroundColor = [UIColor whiteColor];
        
        [self.contentView addSubview:sLine1];
        [self.contentView addSubview:sLine2];
        
    }
    
    return self;
}

在需要调用的地方(tableview初始化数据)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"cate_cell";

    CateTableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    
    if (cell == nil) {
        cell = [[[CateTableCell alloc] initWithStyle:UITableViewCellStyleSubtitle 
                                      reuseIdentifier:CellIdentifier] autorelease];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
 
    }
    
    NSDictionary *cate = [self.cates objectAtIndex:indexPath.row];
    cell.logo.image = [UIImage imageNamed:[[cate objectForKey:@"imageName"] stringByAppendingString:@".png"]];
    cell.title.text = [cate objectForKey:@"name"];
    
    NSMutableArray *subTitles = [[NSMutableArray alloc] init];
    NSArray *subClass = [cate objectForKey:@"subClass"];
    for (int i=0; i < MIN(4,  subClass.count); i++) {
        [subTitles addObject:[[subClass objectAtIndex:i] objectForKey:@"name"]];
    }
    cell.subTtile.text = [subTitles componentsJoinedByString:@"/"];
    [subTitles release];
    
    return cell;
}

//如果自定义cell中没有initUI可以使用下列
//    static NSString *customCellIdentifier = @"CustomCellIdentifier";
//    UINib *nib = [UINib nibWithNibName:@"CustomAlarmCell" bundle:nil];
//    [m_tabAlarmDateList registerNib:nib forCellReuseIdentifier:customCellIdentifier];
//
//    CustomAlarmCell *cell = [m_tabAlarmDateList dequeueReusableCellWithIdentifier:customCellIdentifier];



当在一个tableview中使用自定义cell,滑动时想更换cell的样式时,可以使用delegate
- (void)tableView:(UITableView*)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    CustomAlarmCell *cell = (CustomAlarmCell*)[tableView cellForRowAtIndexPath:indexPath];
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDelay:.1f];
    cell.m_switchAlarm.frame = CGRectMake(185, 17, 79, 27);
    [UIView commitAnimations];
}
- (void)tableView:(UITableView*)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    CustomAlarmCell *cell = (CustomAlarmCell*)[tableView cellForRowAtIndexPath:indexPath];
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDelay:.1f];
    cell.m_switchAlarm.frame = CGRectMake(227, 17, 79, 27);
    [UIView commitAnimations];
}

//- (void)willTransitionToState:(UITableViewCellStateMask)state
//{
//    [super willTransitionToState:state];
//    if(self.editingStyle == UITableViewCellEditingStyle)
//    {
//        m_switchAlarm.hidden = YES;
//    }
//}
//- (void)didTransitionToState:(UITableViewCellStateMask)state
//{
//    [super didTransitionToState:state];
//}
分享到:
评论

相关推荐

    iOS、UITableViewCell、自定义

    一、UITableViewCell自定义基础 自定义UITableViewCell主要涉及以下几个方面: 1. 创建UITableViewCell子类:通过继承UITableViewCell,我们可以添加自定义的UI元素,如UILabel、UIImageView、UIButton等,并在子类...

    IOS开发UITableViewCell自定义那点事.pdf

    ### iOS开发UITableViewCell自定义详解 在iOS开发过程中,UITableView是一种非常常见的UI组件,它能够以列表的形式展示数据。而UITableViewCell则是构成UITableView的基本单元。很多时候,我们需要对这些单元进行...

    ios-UItableViewCell自定义多选的cell.zip

    在这个"ios-UItableViewCell自定义多选的cell.zip"压缩包中,包含的"TableViewDidSelectDemo"很可能是演示如何实现这个功能的一个示例代码。 首先,我们来看一下UITableView的基本使用。UITableView由两个主要部分...

    自定义UITableViewCell。实现各种样式的表格输入界面ios源代码设计资料

    在iOS应用开发中,自定义`UITableViewCell`是创建独特、高效用户界面的关键步骤。这个资料包专注于教你如何实现各种样式的表格输入界面,这在构建iOS应用时非常实用,特别是当你需要用户输入数据或者进行设置时。...

    ios7自定义UITableViewCell

    在iOS开发中,自定义UITableViewCell是一项常见的任务,它允许开发者为应用程序创建独特且富有吸引力的用户界面。在iOS 7中,苹果引入了一系列新的设计语言和API更新,使得自定义UITableViewCell变得更加灵活和直观...

    全面解析iOS应用中自定义UITableViewCell的

    在iOS应用开发中,自定义UITableViewCell是提升用户体验和界面美观度的重要手段。它允许开发者根据需求定制特定的单元格样式,展示更丰富的信息或者提供更复杂的交互。本篇全面解析将深入探讨如何在iOS应用中实现...

    自定义UITableViewCell

    然而,系统默认的UITableViewCell样式有限,为了满足更丰富的界面设计需求,开发者经常需要自定义UITableViewCell。本主题将深入探讨如何在iOS应用中自定义UITableViewCell。 首先,创建自定义UITableViewCell通常...

    cell上加载web view

    一、自定义UITableViewCell 自定义UITableViewCell是实现“cell上加载web view”的第一步。首先,我们需要创建一个新的UITableViewCell子类,并在Xcode中设计UI。在故事板(Storyboard)或代码中添加一个UIWebView...

    xib和手写代码自定义UITableViewCell

    在iOS开发中,自定义UITableViewCell是一项常见的任务,它允许开发者根据需求创建独特的界面展示效果,提升用户体验。"xib和手写代码自定义UITableViewCell"这个主题涵盖了两种主要的自定义方式:通过故事板(XIB)...

    swift-UITableViewCell左右滑动出现更多按钮按钮高度自定义

    在Swift开发中,实现UITableViewCell左右滑动出现更多按钮并能自定义按钮高度的功能,涉及到一些核心的UITableView和UITableViewCell的交互技术。以下将详细介绍这个过程的关键步骤和知识点。 首先,我们需要了解...

    自定义UITableViewCell左滑动多菜单功能

    实现自定义UITableViewCell左滑动多菜单功能。 在同一个工作空间里面,采用了 3中实现方式: 1、使用自定义UITableViewCell + UISwipeGestureRecognizer + 代理 实现; 2、使用自定义UITableViewCell + ...

    iPhone开发使用Xib自定义UITableViewCell

    在iOS应用开发中,使用Xib(XML Interface Builder)文件自定义UITableViewCell是一种常见的做法,它可以帮助我们更方便地设计和管理界面。这篇文章将详细介绍如何在iPhone开发中利用Xib来创建自定义的...

    ios-TableView.zip

    3. UITableViewCell 自定义:为了展示日期和照片,我们可能需要创建一个自定义的UITableViewCell,包含一个标签来显示日期,以及一个UIImageView来展示照片。我们可以使用AutoLayout来设置约束,确保单元格的布局在...

    IOS应用源码之视觉效果很好的table view美化效果demo .rar

    1. **UITableViewCell 自定义**: 为了美化TableView,开发者通常会自定义UITableViewCell,包括设置背景视图、内容视图、添加额外的UI元素(如图片、标签、进度条等)以及调整布局。在Demo中,可能包含了自定义Cell...

    仿手机QQ好友列表demo

    默认的UITableViewCell样式可能无法满足我们的需求,因此通常会自定义一个UITableViewCell子类,添加相应的UI元素,如UIImageView用于显示头像,UILabel显示姓名和在线状态。在`tableView:cellForRowAtIndexPath:`中...

    ios-UITableViw实现图文混编.zip

    自定义`UITableViewCell`通常涉及重写`init(style:reuseIdentifier:)`方法,设置子视图(如`UILabel`和`UIImageView`),并实现`layoutSubviews()`来处理布局。 2. **Auto Layout** 图文混排的布局管理是通过Auto ...

    IOS源码——自定义UITableViewCell。实现各种样式的表格输入界面.7z

    在iOS应用开发中,自定义UITableViewCell是创建独特且功能丰富的用户界面的关键步骤。这个源码包"IOS源码——自定义UITableViewCell。实现各种样式的表格输入界面.7z"提供了实现这一目标的具体示例,主要关注如何在...

    ios-仿SegmentFault.zip

    在这里,开发者可能会使用UITableViewCell自定义样式,以达到SegmentFault应用中的效果。 对于UITableView,你需要创建一个数据源,包含所有菜单项的列表,并实现UITableViewDataSource和UITableViewDelegate协议,...

    使用xib 自定义uitableviewcell 实现了代理协议

    在iOS开发中,UITableView是展示数据列表的一种常见控件,而自定义UITableViewCell则可以让我们根据需求设计出独具特色的界面。本教程将通过使用XIB(Interface Builder)来创建自定义的UITableViewCell,并实现...

Global site tag (gtag.js) - Google Analytics