Ich habe transparentes Bild, das ich versuche, wie dies als UIButton in Code zu verwenden:UIButton mit benutzerdefinierter Bild Hervorhebung nicht auf ausgewählte
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])
Wenn ich auf die Schaltfläche auswählen, wird die Schaltfläche nicht wurde wie folgt dargestellt: Standard-UIB-Tasten. Müssen Sie ein benutzerdefiniertes Image für UIControlState.Selected bereitstellen? Ich einige Code sah, dass Sie diesen Effekt liefern lassen würde durch eine UIImage in Code wie folgt zu erstellen:
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
}
Aber wenn ich irgend Beispiel sah Projekte online, die benutzerdefinierte Bilder in IB zu verwenden, es sieht nicht wie sie Setze ein beliebiges Bild für den UIControlState.Selected, aber das Bild für den UIButton wird grau, wenn der Button gedrückt wird, also war ich verwirrt, wie das gemacht wurde.
settingsButton = UIButton() versuchen Sie dies – kb920