繁体   English   中英

选中行时更改UIImageView中的图像吗?

[英]Change image in UIImageView when row is selected?

这是选择项目时的外观。

在此处输入图片说明

通常,行的背景为黑色,图标的前景为白色。 但是选择一行将使背景变为半白色。 当选择imageView的行时,是否可以将图像更改为相反的颜色,或在imageView使用其他图像?

该问题已经有答案更改UIImage颜色

您应该将图像声明为mask( .alwaysTemplate ),然后可以为任何UIColor更改tintColor

使用@ NSDmitry的例子,你需要重写setSelected(_ selected: Bool, animated: Bool)UITableViewCell并设置tintColor整个的contentView或只是imageView

是的,可以使用突出显示的图像设置UIImageView颜色。 它具有两种图像属性。 正常和突出显示的图像。
该选项在界面文件(storyboard / XIB)的属性检查器中可用。
矢量图像还有另一个选项,您可以在其中为图像资产的模板类型设置tintColor。

Swift您还可以通过编程设置两个属性。

let imageView = UIImageView(<set your initialiser>)
imageView.image = //Your normal image
imageView.highlightedImage = //You highligted image

在您的表格视图行选择状态下,将图像的状态从正常更改为突出显示,反之亦然。 imageView.isHighlighted = true / false

 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    imageView.isHighlighted = true
}

func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
    imageView.isHighlighted = false
}


在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM