2012-03-07 2 views
8

오늘 출시 된 iOS 5.1 GM에서 응용 프로그램을 테스트하는 동안 일부보기가 패턴이있는 배경색이 아닌 단색으로 나타납니다. 이전의 iOS 릴리스 (4.2 - 5.0.1에서 테스트 됨)에서 똑같은 코드가 올바르게 작동합니다.iOS 5.1 : - [UIColor colorWithPatternImage :] 배경색이 단색 검정색을 그립니다.

참조 스크린 샷 : Screenshots of issue

누군가 다른 사람이 경험을 했습니까? 해결 방법이 있습니까?

답변

12

내 자신의 질문에 대답 (그렇게 희망이 다른 사람이 시간을 절약이를 디버깅하는 데 몇 일이 걸렸다;)) :

근본 원인을 배경으로) +[UIColor colorWithPatternImage:] 통해 패턴 UIColor를 (사용하는 것 같은 이미지 UIImageView 위의 UIView에 색.

예 :

UIImageView *imageView = [[UIImageView alloc] initWithImage:anImage]; 
    [_containerView addSubview:imageView]; 

    UIColor *patternColor = [UIColor colorWithPatternImage:anImage]; 
    UIView *patternView = [[UIView alloc] initWithFrame:frame]; 
    [patternView setBackgroundColor:patternColor]; 
    [_containerView addSubview:patternView]; 

모두보기 블랙 그릴, 응용 프로그램이 중지 될 때까지 이미지의 모든 다른 용도 검은립니다 캐싱 문제가있을 나타납니다/다시 시작했다.

이 문제를 신고하기 위해 Apple에 문제 # 10795514를 제출했지만 5.1로 작성된 것 같습니다. 이 문제의 감소는 다음에서 제공됩니다. http://iccir.com/public/radar/Radar10795514.zip

유일한 해결 방법은 뷰 계층 구조를 병합하고 동일한보기에서 패턴 이미지를 두 번 배치하는 것입니다.

+1

+1 - 공유해 주셔서 감사합니다. – Till

+0

실제 문제는 colorWithPatternImage가 ios5의 UIImageView에 적용되지 않는다는 것입니다. 분명히 UIView를 사용해야합니다. – anders

0
나는이 같은있는 UIScrollView에 colorWithPatternImage를 사용하던 아이 패드에 아이폰 OS 5.1이 문제가되었다

: 원에, 그러나,

scrollView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"YOURIMAGE.jpg"]]; 

이 아이폰 OS 6 일 (이상 예를 들어, 아이 패드 등) iPad에서 iOS를 5.1.1로만 업데이트 할 수 있습니다.이 버전은 흰색 또는 다른 곳에서 정의한 다른 단색으로 표시됩니다. 수정 프로그램은이 같이있는 ScrollView의 backgroundView을 설정 약간 덜 매력적인 방법을 사용하는 것입니다 : 나는 아이폰 OS 6, 아이폰 OS 5.1이를 테스트 한

scrollView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"YOURIMAGE.png"]]; 

을, 그래서 당신이 경우 또한 아이폰에 적용해야 거기에 문제가 발생했습니다.

관련 문제