tableView 单元格的正常和选定状态的不同象形图

     2023-02-24     172

关键词:

【中文标题】tableView 单元格的正常和选定状态的不同象形图【英文标题】:Different pictograms for normal and selected state of tableView cells 【发布时间】:2012-10-07 14:23:37 【问题描述】:

这是我的设置。带有自定义设计单元格的表格视图,可重复使用多次。布局是四个UILabel和一个UIImageView。

我在tableView:cellForRowAtIndexPath: 中加载单元格,并在其中找到它是哪个单元格(数据项)后,我用数据源中的适当文本填充标签。

我还有 7 个象形图。每个单元格都会根据单元格的内容(项目类型)获得其中一个象形图。问题是,每个象形图都存在于其正常版本和“选定”版本中。这意味着当单元格被选中时,设计团队为我提供了颜色略有不同的修改版象形图。

因此,对于每个单元格,我需要将 pictogram_normalpictogram_selected 加载到同一个单元格中,以便在选择单元格时显示所选的单元格。

我应该如何设置?

【问题讨论】:

【参考方案1】:

当一个单元格被选中时,改变这个单元格的背景图片视图,然后使其他单元格的背景图片视图正常。



- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    UITableViewCell* cell=[tableView cellForRowAtIndexPath:indexPath];
    cell.backgroundView=[[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pictogram_selected.png"]] autorelease];
    cell.selected=YES;
    selectedIndex=indexPath.row;

    for(UITableViewCell* theCell in [tableView visibleCells])
        if(![theCell isEqual:cell])
        
            theCell.accessoryType=UITableViewCellAccessoryNone;
            theCell.selected=NO;
            [theCell.backgroundView removeFromSuperview];
        
    


selectedIndex是保存tableview的selectedindex的数字。如果你想在tableview中保存选中的状态,使用selectedIndex来选中cell。


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    ITableViewCell*   cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];
    cell.selectionStyle=UITableViewCellSelectionStyleNone;

    //your code here

    if(indexPath.row == selectedIndex)
    
        cell.backgroundView=[[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pictogram_selected.png"]] autorelease];
        cell.selected=YES;
    

    //your code here

    return cell;

【讨论】:

对不起,为每个单元格分配一个新的 UIimageView 对象有点太贵了:-/

更改 tableView 中所有单元格的所有对象的布尔状态

】更改tableView中所有单元格的所有对象的布尔状态【英文标题】:ChangeboolstatusforallobjectsofallcellsinthetableView【发布时间】:2017-10-1219:50:08【问题描述】:tableView中的每个单元格都有不同的属性:class:Item//propertiesvarname:Stringvarphoto:U... 查看详情

具有两个不同 tableview 单元格的两个 tableview

】具有两个不同tableview单元格的两个tableview【英文标题】:twotableviewswithtwodifferenttableviewcells【发布时间】:2018-07-1809:50:49【问题描述】:我有两个带有两个不同自定义表格视图单元格的表格视图。我正在这样做:functableView(_table... 查看详情

从选定的单元格获取数据(TableView)

】从选定的单元格获取数据(TableView)【英文标题】:Gettingdatafromtheselectedcell(TableView)【发布时间】:2017-01-1814:45:27【问题描述】:我有一个包含多个数据单元格的TableView,每个单元格中有3个标签。如何使用indexPath将所有3个label... 查看详情

如何使每个选定的 tableView 行的 UIButton 状态不同?

】如何使每个选定的tableView行的UIButton状态不同?【英文标题】:HowcanIgettheUIButtonstatetobedifferentforeachselectedtableViewrow?【发布时间】:2017-09-0211:19:16【问题描述】:在这段代码中,我的按钮有一个选中状态和取消选中状态。按下按... 查看详情

如何将选定单元格的详细信息发送到另一个视图控制器

...【发布时间】:2012-08-1007:23:30【问题描述】:我有一个在tableview中加载的sqlite3数据库。我还有一个正常工作的搜索功能。我希望每当我选择一个单元格时,我都会被重定向到视图控制器“详细信息”,并在其中打印有关所选项... 查看详情

如何以编程方式将不同单元格的不同图像添加到 tableView (Swift)

】如何以编程方式将不同单元格的不同图像添加到tableView(Swift)【英文标题】:HowtoadddifferentimagesfordifferentcelltoatableViewprogrammatically(Swift)【发布时间】:2017-11-0710:00:48【问题描述】:我想将不同的图像添加到tableView中的不同单元格... 查看详情

如何以编程方式将不同单元格的不同图像添加到 tableView (Swift 3)

】如何以编程方式将不同单元格的不同图像添加到tableView(Swift3)【英文标题】:HowtoadddifferentimagesfordifferentcelltoatableViewprogrammatically(Swift3)【发布时间】:2017-11-0714:34:21【问题描述】:我正在尝试向tableView中的不同单元格添加不同... 查看详情

Tableview推送到不同的视图

】Tableview推送到不同的视图【英文标题】:Tableviewpushtodifferentview【发布时间】:2012-11-2609:12:57【问题描述】:我有这段代码,当按下一个单元格时,它会推送到一个新视图。这个新视图会根据按下的单元格的名称更改其标题。... 查看详情

UITableCell - 当用户导航回视图时,如何关闭单元格的选定状态?

】UITableCell-当用户导航回视图时,如何关闭单元格的选定状态?【英文标题】:UITableCell-HowdoIturnofftheselectedstateofthecellwhenusernavigatesbacktoview?【发布时间】:2011-03-1709:58:03【问题描述】:我认为这是一种很常见的情况,但我找不到... 查看详情

使附件类型成为选定单元格的复选标记

...:2015-02-1716:58:38【问题描述】:我正在尝试使(自定义UITableViewCell的)选定单元格上有一个复选标记。我尝试了以下代码:-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSI 查看详情

tableview不同的单元格在swift中有不同的高度

】tableview不同的单元格在swift中有不同的高度【英文标题】:tableviewdifferentcellshasdifferentheightsinswift【发布时间】:2019-11-1704:25:56【问题描述】:1.我有一个包含两个单元格的表格视图。我想要这两个单元格的高度自动尺寸。在第... 查看详情

计算tableview中每个单元格的值(代码片段)

我正在尝试从每个tableViews单元格中获取总数,然后添加到总标签。由于每个单元格可能有不同的数量和价格,我使用Arrays数量和产品基价。我已经按照这个问题/答案,但看着问的人正在使用结构:howtocalculatethevaluesintableviewandtod... 查看详情

tableview 单元格我们如何快速调整单元格的大小以及图像和标签

】tableview单元格我们如何快速调整单元格的大小以及图像和标签【英文标题】:tableviewcellhowdoweresizecellinswiftalongwithimageandlabel【发布时间】:2016-10-0605:55:35【问题描述】:当我们在tableview单元格中有一个标签和图像时,我们如何... 查看详情

IOS 故事板 - 显示选择表格单元格的不同视图

...】:我是ios编程新手。我有多个视图控制器。我首先显示tableView控制器,并且在它之前有一个导航控制器..我想根据所选单元格显示特定的视图控制器..我已将tableView控制器设置为dynamic和原型C 查看详情

动态调整 tableView 单元格的高度

】动态调整tableView单元格的高度【英文标题】:dynamicallysizetheheightofthetableViewcells【发布时间】:2011-11-0621:39:10【问题描述】:我能够在表格中显示单元格内容,并且还可以对其进行自动换行以完全显示消息。但我注意到,如果... 查看详情

Qt C++ 从 QTableView 中获取选定行的每个单元格的数据

】QtC++从QTableView中获取选定行的每个单元格的数据【英文标题】:QtC++GetdatafromeverycellofaselectedrowfromaQTableView【发布时间】:2013-09-2820:29:42【问题描述】:有没有办法从表格视图中的选定行中获取数据?我用过QModelIndexListids=ui-&... 查看详情

在选定的单元格行返回 TableView

】在选定的单元格行返回TableView【英文标题】:SeguebacktoTableViewatselectedcellrow【发布时间】:2012-05-0720:13:28【问题描述】:我有一个UItableView可以连接到不同的视图控制器。我正在使用一个返回tableView的UITapGestureRecognizer。这个segue... 查看详情

使标签等于 TableView 单元格的标题和副标题

】使标签等于TableView单元格的标题和副标题【英文标题】:MakeLabelsequalTableViewCell\'sTitleandSubtitle【发布时间】:2017-01-0514:09:21【问题描述】:所以我只是从编码开始。我有一个表格视图,其中通过代码将单元格添加到其中。我有... 查看详情