2014-01-21 2 views
0

내 배경 이미지를 UIButton으로 설정하고 있지만 iOS6에서는 정상적으로 작동하지만 iOS7에서는 강조 표시된 상태에서는 작동하지 않습니다.UIButton 배경 IOS7의 이미지

[clearButton setBackgroundImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateHighlighted]; 

[clearButton setBackgroundImage:[UIImage imageNamed:@"[email protected]~ipad.png"] forState:UIControlStateNormal]; 

무엇이 문제 일 수 있습니까?

답변

1

라나 Anees :

2

UIButton의 유형이 시스템이 아닌 사용자 정의인지 확인하십시오.

+0

버튼은 사용자 정의 유형입니다. –

0

이미지 이름이 .png 형식 인 경우 이름 만 언급하면됩니다.

예, 당신이 아닌 망막과 망막 디스플레이를위한 2 개 이미지가있는 경우 : img.png[email protected] 당신 만 이미지를 설정하려면 다음이 필요합니다

[yourButton setBackgroundImage:[UIImage imageNamed:@"img"] forState:UIControlStateNormal]; 

OS가 자동으로 이미지를 검색하고 그것의 @ 화면의 scale에 따라 2 배 버전 (망막 장치에는 눈금 2가 있고 비 망막에는 1이 있습니다).

4

이미지 이름에서 @2x을 제거하고 망막 및 비 망막 장치의 경우 리소스 폴더에 이미지 2 부 (예 : back-over.png[email protected])를 보관하십시오.

그런 다음

[clearButton setBackgroundImage:[UIImage imageNamed:@"back-over.png"] forState:UIControlStateHighlighted]; 

@2x 이미지에 대해 걱정하지 마십시오, 등 아래 코드를 업데이트합니다. 장치 디스플레이가 Retina 인 경우 파일 이름에 @2x이 자동으로 추가됩니다.

0

당신이 clearButton가 .H에 선언되어 있는지 확인 했 시뮬레이터를 ;-) 다시 시작하십시오?

보조 에디터를 열고 단추를 .h 파일로 드래그하고 clearButton이라는 이름을 지정하십시오.

지금 바로이 같은 _clearButton의하는 .m의 clearButton에 대체 :

[_clearButton setBackgroundImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateHighlighted]; 

[_clearButton setBackgroundImage:[UIImage imageNamed:@"[email protected]~ipad.png"] forState:UIControlStateNormal]; 

난 그냥이 개 이미지를 시도하고 완벽하게 일했다.

또한 이미지를 가져 왔는지 확인하십시오.

관련 문제