点击UITableviewCell展开收缩

#import "ViewController.h"
#import "ZSDTestCell.h"
@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
{

    NSMutableArray *dataArray;    //数组保存显示内容
    NSIndexPath *selectIndex;     //记录当前选择的索引
}

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    dataArray=[NSMutableArray array];
    for (int i=0; i<20; i++) {
        [dataArray addObject:[NSString stringWithFormat:@"%d",i]];
    }
    selectIndex=nil;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    return dataArray.count;

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

}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{

    if (indexPath==selectIndex)
    {
        return 88.0;
    }
    return 44.0f;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UIImage *normalImg = [UIImage imageNamed:@"member_icon_more"];
    UIImage *selectImg = [UIImage imageNamed:@"common_icon_down"];
    ZSDTestCell *testCell=[tableView dequeueReusableCellWithIdentifier:@"ZSDTestCell" forIndexPath:indexPath];
    testCell.firstLabel.text=dataArray[indexPath.row];
    if (selectIndex==indexPath)
    {
        testCell.remindImageView.image=selectImg;
        testCell.secondLabel.text=[NSString stringWithFormat:@"测试第%@行UITableviewCell收缩效果",dataArray[indexPath.row]];
    }
    else
    {
        testCell.remindImageView.image=normalImg;
        testCell.secondLabel.text=nil;
    }
    return testCell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(selectIndex==nil)
    {
        selectIndex=indexPath;
    }
    else
    {
        bool selectedOtherRow=![selectIndex isEqual:indexPath];
        selectIndex=nil;
        if(selectedOtherRow)
        {
            selectIndex=indexPath;
        }
    }
   [tableView reloadData];
}

@end

时间: 2024-10-09 21:53:13

点击UITableviewCell展开收缩的相关文章

如果自定义一个可以点击之后展开/收缩的菜单组件

首先,定义布局文件,如下 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_alignParentBottom="true

点击UITableView的cell展开收缩

首先要理解UITableView代理方法调用的先后顺序. 当初始化UITableView后,代理回调顺序如下 1://返回cell个数 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 2://返回每行的高度 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPat

jquery实现后台系统左侧菜单的点击展开/收缩二级菜单效果

html: <div class="col-sm-3 col-md-2 sidebar"> <div class="totalt"><a>系统管理系统</a></div> <ul class="menu"> <li class="title"> <a class="item item1"><span cla

iOS tableview cell 的展开收缩

iOS tableview cell 的展开收缩 #import "ViewController.h" @interface ViewController ()<UITableViewDataSource,UITableViewDelegate>{ NSMutableArray *_allArray;//创建一个数据源数组 NSMutableDictionary *dic;//创建一个字典进行判断收缩还是展开 } @property (nonatomic,strong)UI

Android开发之自定义View-可动画展开收缩View的实现

有时候需要点击一个view可以动画展开和收缩折叠一个View这样的效果,这样就可以直接自定义View来实现. 本例中,采用继承FrameLayout来实现自定义的ExpandView.下面将详细介绍各个部分来实现该类以及如何使用该自定义视图. 效果图如下: 未展开效果: 正在向上折叠收缩中的效果: 已经展开效果: 自定义展开类:ExpandView的实现: package com.czm.customview; import android.content.Context; import and

WordPress文章页添加展开/收缩功能

很多时候我们在WordPress上发布一些文章的时候里面都包含了很多的代码,我一般又不喜欢把代码压缩起来而喜欢让代码格式化显示,但是格式化显示通常会让文章内容看起来很多,不便于访问者浏览,所以今天就介绍一种可以展开/收缩文章内容的功能. 方法: 1.在header.php中添加下面的代码,或者也可以单独写进一个js文件中然后在header.php中引入也可以.我是引入的. 1 2 3 4 5 6 7 <script type="text/javascript">     j

Cell展开&amp;&amp;收缩全垒打

Cell展开&&收缩全垒打 引言 最近想把UITableView(表视图)全面熟悉一遍,接触到两个实例方法 - (void)beginUpdates; - (void)endUpdates; 经过一番研究后发现这两个方法除了用来批量操作Cell,还有改变动态更新行高的作用.官方文档给出了这样的说明: You can also use this method followed by the endUpdates method to animate the change in the row

jquery实现可展开收缩的首页大图广告展示方式 泰山压顶代码js V1.0

html主题代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="

HTML5每日一练之details展开收缩标签的应用

details标签的出现,为我们带来了更好的用户体验,不必为这种收缩展开的效果再编写JS来实现.注:目前仅Chrome支持此标签. details有一个新增加的子标签——summary,当鼠标点击summary标签中的内容文字时,details标签中的其他所有元素将会展开或收缩. detalis标签: 案例1: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" conte