2014-08-28 6 views
4

어떻게 단추 배경을 흐리게 만들 수 있습니까?UIButton에 흐림 효과 추가

악이 함께 흐리게 효과를 얻을 수 발견 :이 작동,하지만 내 버튼과 동일한 프레임과 흐림을하게됩니다

let blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light)) 
blur.frame = buttonForDisabling.frame 
self.tableView.addSubview(blur) 

. 나는 배경이 흐린 버튼을 갖고 싶다. iOS8에서도 가능합니까?

답변

9

당신이했던 것처럼 흐리게 만들고 UIButton의 titleLabel 아래에 삽입하면됩니다. 시각적 효과보기에서 터치를 가로 채지 않고 단추로 전달할 수 있도록하려면 사용자 상호 작용을 사용하지 않도록 설정하는 것이 중요합니다.

buttonForDisabling.bringSubview(toFront: buttonForDisabling.imageView!) 

를하거나이 확장 사용 :

let blur = UIVisualEffectView(effect: UIBlurEffect(style: 
    UIBlurEffectStyle.Light)) 
blur.frame = buttonForDisabling.bounds 
blur.userInteractionEnabled = false //This allows touches to forward to the button. 
buttonForDisabling.insertSubview(blur, atIndex: 0) 
+0

감사합니다 - 좋은 생각! – derdida

+4

버튼에 이미지가있을 때 작동하지 않습니다 ... – Atomix

1

당신은 이미지와 버튼을 사용하는 경우, 전면에 이미지 뷰를 가져

import Foundation 
import UIKit 

extension UIButton 
{ 
    func addBlurEffect() 
    { 
     let blur = UIVisualEffectView(effect: UIBlurEffect(style: .light)) 
     blur.frame = self.bounds 
     blur.isUserInteractionEnabled = false 
     self.insertSubview(blur, at: 0) 
     if let imageView = self.imageView{ 
      self.bringSubview(toFront: imageView) 
     } 
    } 
}