MDCChip 选定的图像正在取代我的标题标签
MDCChip selected image is displacing my title label
我在我的应用程序的 collection 视图中实施 MDCChips,但我遇到了一个我无法解决的问题。
当我将 selectedImageView 添加到我的 chip 并且我 select 我的 collection 视图中的 chip 时,图像按预期显示,但标题因以下原因而移位图像的出现。
我试过使用内在内容和 UIEdgeInsets,但我似乎找不到解决方法。
有什么办法可以避免这种情况发生吗?我希望图像在显示时不会取代芯片视图中的任何其他内容。
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "identifierChips", for: indexPath) as! MDCChipCollectionViewCell
let chipView = cell.chipView
chipView.selectedImageView.image = UIImage(named: "tickIcon")
return cell
}
任何提示或帮助将不胜感激!
我无法理解,您的代码中有什么问题,但我可以向您建议,如果有什么可行的,那很好。
- 如果图片有标题,请检查您的 imageView 的内容模式。
- 如果您使用 Lable 作为标题,那么调试您的 UI 并检查您的约束(如果您使用约束)
如果您仍然遇到问题,请告诉我。
我终于成功了。它有点 hacky,但只要它有效...并且缺少其他解决方案...适合我!
我添加了这段代码,每次单元格 selected 时都会执行。
chipView.imagePadding = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: -padding)
每次删除单元格时都会执行此代码selected。
chipView.imagePadding = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
所以基本上填充值是图像的宽度,当你 select 图像将出现的单元格但是你用图像的总宽度删除图像的右填充,所以它不会'影响标签。
当您删除select 视图时,图像将消失,因此您将填充恢复为零。
我在我的应用程序的 collection 视图中实施 MDCChips,但我遇到了一个我无法解决的问题。
当我将 selectedImageView 添加到我的 chip 并且我 select 我的 collection 视图中的 chip 时,图像按预期显示,但标题因以下原因而移位图像的出现。
我试过使用内在内容和 UIEdgeInsets,但我似乎找不到解决方法。
有什么办法可以避免这种情况发生吗?我希望图像在显示时不会取代芯片视图中的任何其他内容。
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "identifierChips", for: indexPath) as! MDCChipCollectionViewCell
let chipView = cell.chipView
chipView.selectedImageView.image = UIImage(named: "tickIcon")
return cell
}
任何提示或帮助将不胜感激!
我无法理解,您的代码中有什么问题,但我可以向您建议,如果有什么可行的,那很好。
- 如果图片有标题,请检查您的 imageView 的内容模式。
- 如果您使用 Lable 作为标题,那么调试您的 UI 并检查您的约束(如果您使用约束)
如果您仍然遇到问题,请告诉我。
我终于成功了。它有点 hacky,但只要它有效...并且缺少其他解决方案...适合我!
我添加了这段代码,每次单元格 selected 时都会执行。
chipView.imagePadding = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: -padding)
每次删除单元格时都会执行此代码selected。
chipView.imagePadding = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
所以基本上填充值是图像的宽度,当你 select 图像将出现的单元格但是你用图像的总宽度删除图像的右填充,所以它不会'影响标签。
当您删除select 视图时,图像将消失,因此您将填充恢复为零。