一个tableView里面有两个section,每个section里面有3个cell,每个cell里面有一个按钮叫“完成”

iOS 码拜 7年前 (2015-05-01) 770次浏览 0个评论

现在一个tableView里面有两个section,每个section里面有3个cell,每个cell里面有一个按钮叫“完成”
当我点击其中一个“完成”时,在这个按钮所在的cell左上角加一个UIImageView的小图标
请问,怎么实现呢?

一个tableView里面有两个section,每个section里面有3个cell,每个cell里面有一个按钮叫“完成”
80分
每个cell的左上角都有一个imageView的小图标,只不过默认是隐藏的状态,点击button的时候让它显示。
这里其实隐藏了一个对数据源的操作,你可能有一个这样的数据源:

"array": [
  [
    {"title" : "section1_row1", "isSelected": true},
    {"title" : "section1_row2", "isSelected": true},
    {"title" : "section1_row3", "isSelected": true}
  ],
  [
    {"title" : "section2_row1", "isSelected": true},
    {"title" : "section2_row2", "isSelected": true},
    {"title" : "section2_row3", "isSelected": true}
  ]
]

两个section内部表示为两个数组,两个数组内还有三个子数组,子数组的每一条数据,都有一个isSelected的状态,你需要在点击按钮的时候更新对应的数据的状态,这样当cell被重用的时候依然可以正确显示,就也就是说,cell其实是根据数据源来判断是否需要显示左上角的小图标的。

一个tableView里面有两个section,每个section里面有3个cell,每个cell里面有一个按钮叫“完成”
引用 1 楼 zhangao0086 的回复:

每个cell的左上角都有一个imageView的小图标,只不过默认是隐藏的状态,点击button的时候让它显示。
这里其实隐藏了一个对数据源的操作,你可能有一个这样的数据源:

"array": [
  [
    {"title" : "section1_row1", "isSelected": true},
    {"title" : "section1_row2", "isSelected": true},
    {"title" : "section1_row3", "isSelected": true}
  ],
  [
    {"title" : "section2_row1", "isSelected": true},
    {"title" : "section2_row2", "isSelected": true},
    {"title" : "section2_row3", "isSelected": true}
  ]
]

两个section内部表示为两个数组,两个数组内还有三个子数组,子数组的每一条数据,都有一个isSelected的状态,你需要在点击按钮的时候更新对应的数据的状态,这样当cell被重用的时候依然可以正确显示,就也就是说,cell其实是根据数据源来判断是否需要显示左上角的小图标的。

真是豁然开朗!


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明一个tableView里面有两个section,每个section里面有3个cell,每个cell里面有一个按钮叫“完成”
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!