我想实现的内容:使UITableView
灰色的最底部单元格中的所有标签都变为灰色,并在向上滚动时将它们更改回原来的颜色。换句话说,一种渐变效果,就是所有的标签颜色都必须是灰色的。
我所取得的成果:在数组中添加原始颜色并试图确定哪个单元格位于底部(使用visibleCells
),然后更改其标签颜色。但很多代码取决于手动确定偏移量,因此对我来说似乎很可怕。
我试过的东西:添加CAGradientLayer
。但它会使细胞消失。我想让单元格中的标签变成灰色。类似但不相同。
注意:单元格是一个带标签,按钮甚至是简单的自定义单元格UITableView
,我需要为所有这些地方存储颜色,然后应用灰色直到单元格位于底部。一旦它滚动起来,我将不得不重新为所有子视图重新着色。
任何人都可以提出一个更好的方法来实现这一切吗?
已添加问题:正如下面@Bamsworld所建议的那样,是否有一种混合模式可以帮助我实现这个目标,即混合模式,它会将所有底层文本渲染为灰色?我知道多种混合模式,但对其他模式只有一个模糊的想法。更改底部tableview单元格中的标签颜色
0
A
回答
0
由于的UITableViewDelegate协议符合UIScrollViewDelegate可以添加方法scrollViewDidScroll:当表滚动以检测并从该方法中处理的任何细胞变化。
实施例:(假设称为TestTable的表格视图)
// detect when it scrolls
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
// query visible cells and get how many
int numCellsOnShow = [[testTable visibleCells] count];
// get the cell to change at bottom of table (this will be the last one in the array of visible cells)
UITableViewCell *cellToEdit = [[testTable visibleCells] objectAtIndex:numCellsOnShow - 1];
cellToEdit.textLabel.textColor = [UIColor grayColor];
// revert top and second bottom cells to prevent cell aesthetic bleeding
UITableViewCell *cellToRevert = [[testTable visibleCells] objectAtIndex:numCellsOnShow - 2];
cellToRevert.textLabel.textColor = [UIColor blackColor];
UITableViewCell *topCell = [[testTable visibleCells] objectAtIndex:0];
topCell.textLabel.textColor = [UIColor blackColor];
}
在上面的代码我只改变了标题为textLabel颜色,但是任何数量的变化/可以进行改动。注意:如果您的表视图高度不是tableViewCell高度的倍数(假设表格中单元格的常数维度),则可能会决定灰化底部的两个单元格,因为底部单元格甚至可能几乎不可见,甚至可能几乎看不到尽管它包含在visibleCells数组中。
相关问题
- 1. 的TableView单元格颜色
- 2. 更改标记单元格的颜色
- 3. 如何更改tableview的顶部和底部的背景颜色?
- 4. 更改单元格颜色
- 5. 更改单元格颜色
- 6. 在iOS7中更改tableview单元格的背景颜色
- 7. 更改tableView中偶数单元格的背景颜色
- 8. TableView中的JavaFX单元格颜色
- 9. 更改JTable中单元格的颜色
- 10. 更改xamDataGrid单元格中的颜色
- 11. 更改dataGridView单元格中的颜色
- 12. 更改网格标签的颜色
- 13. 在tableview单元格中更改视图的颜色不会更改
- 14. 更改tableview的单元格的标签和图标位置
- 15. 更改TableView单元格颜色将不起作用
- 16. JavaFX TableView根据文本值更改单元格颜色
- 17. jquery更改表格单元格颜色
- 18. 当单元格选中时更改单元格的颜色
- 19. 更改datagrid行单元格的颜色
- 20. Tkintertable更改单元格/行的颜色
- 21. Setinterval更改单元格的颜色
- 22. 仅更改底部x轴的颜色
- 23. 用uislider更改自定义tableview单元格标签的值
- 24. Chart.js更改标签颜色
- 25. 表格单元格更改标签背景颜色的按钮操作
- 26. 根据标题更改表格单元格的背景颜色
- 27. 基于一组不同颜色的单元格更改单元格颜色
- 28. 如何更改Netbeans中的JTable标题单元格颜色
- 29. Qt TableView列和单元格颜色
- 30. 如何更改Handsontable中更改的单元格的颜色?
你可以发布屏幕截图吗?因为它完全可怕地预测你想要的实际产量。 – Tirth
对不起,但即使我没有截图。它就像在一些表格末尾看到的衰落效应一样。唯一的区别是,我不希望细胞褪色。我希望所有的内部标签变成灰色。 – SagarU