2016-03-27 27 views
0

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ı.

+0

ayarlarına yardımcı olacağını düşünüyorumButton = UIButton() bunu deneyin – kb920

cevap

0

Düğmenizin vurgulanmadığını düşünüyorum, çünkü özelleştirdiniz, vurgulanmış ve basılı durumlar için resim eklemeniz gerekiyor veya düğme türünü UIButtonType öğesinden başka bir türe dönüştürmeniz ve ardından normal durum için görüntü ayarlamanız gerekiyor, Ben bunu