2012-10-19 2 views
0

UIButton은 이미지가 단추 프레임보다 큰 배경 이미지로 만들려고합니다.UIButton 배경 이미지를 프레임보다 크게 만듭니다.

문제는 UIButton이 자동으로 이미지의 크기를 조정하고 동작을 변경하는 방법을 찾지 못했기 때문입니다.

내가 뭔가 명확하지 않거나 사용자 정의 버튼을 만들 때가 되었습니까?

+0

왜 버튼 프레임을 이미지 크기로 만듭니 까? – bobnoble

+0

다음은 답변에 대한 비유입니다. 이미지 퍼즐 조각. 그들은 정사각형이 아니며 완벽하게 맞습니다. 그러나 버튼을 조각의 가장 바깥 쪽 부분에 정사각형으로 배치하거나 겹치는 버튼으로 감을 수는 없습니다. 당신은 버튼을 조각의 메인 바디로 만들고 작은 홀수 비트를 가장자리에 붙이면됩니다. – DBD

+0

이제 더 잘 이해할 수 있습니다 ... 큰 이미지를 보여주는 'UIImageView'상단에 '보이지 않는'버튼을 덧씌우면됩니다. 버튼은 다른 버튼과 겹치거나 간섭하지 않도록 적절한 크기 일 수 있습니다. – bobnoble

답변

0

이 답변은 다음과 같습니다. UIButton의 기존 인터페이스를 통해 가능하지 않습니다.

구현하는 가장 간단한 방법은 UIButton의 사용자 지정 하위 클래스를 사용하고 UIButton와 같은 프레임과 UIImageView를 생성, 스케일링 클리핑 끄고 다음 바로 모든 setBackground 방법을 캡처하고 처리 상태 변경 사항을 캡처 할 것으로 보인다 "정상적인"버튼 상호 작용으로 배경 이미지가 변경됩니다.

2

서브 클래스있는 UIButton하고 당신이 원하는 크기를 반환하도록

- (CGRect)backgroundRectForBounds:(CGRect)bounds; 

메소드를 오버라이드 (override).

힌트 :이 방법을 사용하여 배경의 중심에 배치 할 수도 있습니다.

관련 문제