2 fycx1993 fycx1993 于 2016.04.22 13:53 提问

IOS:TableViewCell,点击单元格,所属单元格上文字变色
ios

如何去判断点击的那个单元格,效果是点击以后cell那行上的文字变色
图片说明
当我点击清华大学的时候 文字颜色变成黄色,每次启动默认tableView里第一个被选中

因为调用不了系统方法,所以我需要在cellForRowAtIndexPath:中判断哪个行是被点击的,我应该怎么写
会的帮帮我把

5个回答

hi_chen_xingwang
hi_chen_xingwang   Rxr 2016.04.22 14:23

为什么要在cellForRowAtIndexPath:中判断呢?

 /**
 *  选中状态
 *
 *  @param tableView tableview
 *  @param indexPath 路径
 */
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

}

/**
 *  高亮
 *
 *  @param tableView tableview
 *  @param indexPath 路径
 */
- (void)tableView:(UITableView *)tableView didHighlightRowAtIndexPath:(NSIndexPath *)indexPath{

}

/**
 *  取消选中
 *
 *  @param tableView tableview
 *  @param indexPath 路径
 */
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{

}
hi_chen_xingwang
hi_chen_xingwang 回复fycx1993: 写个闭包block把选中的消息发送到控件里去,我猜可能是控件文字颜色改变的事件没有触发,控件开个改变颜色的接口
一年多之前 回复
fycx1993
fycx1993 因为我用了一个文字过长滚动的控件(一个封装的UILabel),我在这3个方法里写改变文字颜色虽然会被触发,但是文字并没有改变颜色
一年多之前 回复
fycx1993
fycx1993 因为我用了一个文字过长滚动的控件(一个封装的UILabel),我在这3个方法里写改变文字颜色虽然会被触发,但是文字并没有改变颜色
一年多之前 回复
fycx1993
fycx1993   2016.04.22 14:04

因为要实现文字过程添加滚动效果,所以调用不了系统提供的高亮效果要怎么弄!

oyljerry
oyljerry   Ds   Rxr 2016.04.22 16:05

你可以根据cellForRowAtIndexPath这个得到索引后,找到对应的那一行的cell,以及里面的label,然后你再来控制颜色等。

liudan302698481
liudan302698481   2016.05.16 20:25

在cell里面自己添加一个点击事件,并将这个cell的索引传入到处理点击事件的方法里面,等监听到点击的时候,根据不同索引,来设置lable的不同颜色

u012877287
u012877287   2016.10.08 18:22

cell中写个callback 点击的时候回调

cell.ytCellCallback = ^(HYBCellModel *model){
if (model) {
拿到回调 说明被点击了 就可以做你想做的事了 在这里
}
};

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!