버튼에 투명한 이미지 뒤에 투명 배경으로 버튼을 만들고을 만들려고합니다. myButton.imageView.image
에는 이미지 세트 (myPNGWithTransparentBackground
)가 있습니다.UIVisualEffectView를 UIButton의 투명한 imageView 이미지 뒤에 삽입
내가 꽤 간단 할 것이라고 생각하지만, 내가 상상보다 더 어려운 것으로 입증 ... 여기에 내가 무엇을 시도했다입니다 :
는 는let frost = UIVisualEffectView(effect: UIBlurEffect(style: .light))
frost.frame = button.bounds
frost.autoresizingMask = [.flexibleWidth, .flexibleHeight]
// button.insertSubview(frost, at: 0)
// button.insertSubview(frost, at: button.subviews.startIndex)
// button.insertSubview(frost, at: button.subviews.endIndex)
// button.imageView?.insertSubview(frost, at: (button.imageView?.subviews.endIndex)!)
button.imageView?.insertSubview(frost, at: (button.imageView?.subviews.startIndex)!)
는
는 상관없이 내가 insertSubview
를 넣어 어디에, 항상 끝 UIButton의 imageView.image 앞에.
업데이트 내가 무엇을 시도했다의
Here's a Git repo. 하위 클래스는 "FrostyButton"이라고합니다.
아마도 서브 클래 싱의 경로를 따라야합니다. 나는 * "내 욕망의 UIView 레이어 필요"* 프로토콜 및 확장 및 슈퍼 클래스를 사용하여 하위 클래스로뿐만 아니라 적합하지 않은 완벽한 예제라고 생각합니다. – dfd
서브 클래 싱시와 동일한 동작입니다. 이것은 정말 간단해야 할 것 같습니다. 나는 정말로 바보 같은 일을하고 있다는 것을 확신합니다. – Adrian
좋아요, 당신의 데모는 버튼 프레임에 의해 흐릿 해지는 파란색 배경을 가지고 있습니다. 그리고 블러 앞에서는 투명한 배경을 가진 이미지가 될 것입니다. 옳은? – dfd