У меня есть кнопка, которую я помещаю в верхний угол пользовательского UICollectionViewCell.По какой-то причине он выглядит полупрозрачным, так что граница ячейки отображается через кнопку, когда я не хотел бы, чтобы это имело место.
В моем CustomCollectionviewCell:
lazy var favoriteButton: UIButton = {
let button = UIButton(type: .system)
button.setImage(#imageLiteral(resourceName: "star_white").withRenderingMode(.alwaysOriginal), for: .normal)
button.addTarget(self, action: #selector(favoriteTapped), for: .touchUpInside)
button.isEnabled = true
return button
}()
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = UIColor.mainWhite()
layer.borderWidth = 1.0
layer.borderColor = UIColor.lightGray.cgColor
setupCellLayout()
}
fileprivate func setupCellLayout() {
addSubview(favoriteButton)
favoriteButton.translatesAutoresizingMaskIntoConstraints = false
favoriteButton.heightAnchor.constraint(equalToConstant: 32).isActive = true
favoriteButton.widthAnchor.constraint(equalToConstant: 32).isActive = true
favoriteButton.centerXAnchor.constraint(equalTo: rightAnchor, constant: -12).isActive = true
favoriteButton.centerYAnchor.constraint(equalTo: topAnchor).isActive = true
bringSubview(toFront: favoriteButton)
}
Это приводит к следующему:
Ни одно из этих изображений не является полупрозрачным.У них сплошной фон, поэтому я не понимаю, почему они отображаются в приложении как полупрозрачные.Первоначально я думал, что, возможно, они были размещены за ячейкой, поэтому я добавил этот вызов к bringSubview(toFront: favoriteButton)
в setupCellLayout (), но это не исправило это.
Я также подумал, что использование .withRenderingMode(.alwaysOriginal)
должно было бы сделатьтрюк, но не повезло.
Есть идеи, почему это может происходить?