ben böyle kodunda UIButton olarak kullanmaya çalışıyorum şeffaf görüntü var: Ben düğmesini seçtiğinizdeUIButton seçilen üzerinde vurgulayarak değil
settingsButton = UIButton(type: UIButtonType.Custom)
settingsButton.translatesAutoresizingMaskIntoConstraints = false
settingsButton.setImage(UIImage(named: "gear_icon.png"), forState: UIControlState.Normal)
settingsButton.showsTouchWhenHighlighted = true
settingsButton.addTarget(self, action: #selector(GameViewController.settingsButtonPressed(_:)), forControlEvents: UIControlEvents.TouchUpInside)
view.addSubview(settingsButton)
let topConstraint = settingsButton.topAnchor.constraintEqualToAnchor(view.topAnchor, constant: 10)
let rightConstraint = settingsButton.rightAnchor.constraintEqualToAnchor(view.rightAnchor, constant: -10)
NSLayoutConstraint.activateConstraints([topConstraint, rightConstraint])
, düğme haline gelmez gibi vurgulanan standart UIButtons. UIControlState.Selected için özel bir resim sağlamanız gerekiyor mu? Ben böyle kodda bir UIImage oluşturarak bu etkiyi sağlamak izin verir bazı kodlar gördük:
func imageWithColor(color: UIColor) -> UIImage {
let rect = CGRect(x: 0.0, y: 0.0, width: 1.0, height: 1.0)
UIGraphicsBeginImageContext(rect.size)
let context: CGContextRef = UIGraphicsGetCurrentContext()!
CGContextSetFillColorWithColor(context, color.CGColor)
CGContextFillRect(context, rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
Ama bazı örnek baktığımda IB özel görüntüler kullanmak çevrimiçi projeler, bu onlar gibi görünmüyor UIControlState.Selected için herhangi bir görüntü ayarlayın, ancak düğme basıldığında UIButton için görüntü gri olur bu yüzden nasıl yapıldığı konusunda kafam karıştı.
ayarlarına yardımcı olacağını düşünüyorumButton = UIButton() bunu deneyin – kb920