2012-03-13 4 views
2

이것은 이상한 것입니다. 여기에 자세히 설명하지 않는보다 복잡한 응용 프로그램이 있지만 그 중 하나는 서버에 연결될 때마다 반투명의 검정색보기를 모든 항목 위에 겹쳐서 표시한다는 것입니다.서브 뷰 추가는 임시 배포판에서 다르게 동작합니다.

나는 같은 것을보기를 추가 : 내가 시뮬레이터 또는 장치에서 실행하면

MyAppDelegate *appDelegate = (MyAppDelegate *)app.delegate; 
[appDelegate.window addSubview:http.progressView.view]; 

은 모든 것이 잘 작동 : 예상대로 검은 화면이 다른 모든 오버레이.

이상한 부분은 다음과 같습니다. 응용 프로그램을 보관하고 .ipa 파일로 압축 한 다음 iTunes (또는 TestFlight)를 사용하여 휴대 전화에 설치합니다. 이렇게하면 일부 장소에서 검은 색 오버레이가 화면의 오른쪽 상단에 약 10 픽셀만큼 오프셋됩니다. 예를 들어 frame.origin.x은 10이고 frame.origin.y은 -10이됩니다.

.apa로 응용 프로그램을 빌드 할 때 다를 수있는 점을 아는 사람은 누구나 다르게 작동합니다. 나는 전개를 위해 구축 할 때도 이런 일이 일어나지 않을까 걱정됩니다.

답변

4

차이점은 아카이브 중에 릴리스 설정을 사용하여 빌드된다는 것입니다 (예 : 최적화 레벨 s 대 디버그 용 최적화 레벨 0).

http.progressView.view의 프레임을 설정하면 문제가 발생할 가능성이 있습니다. 창의 applicationFrame이되도록 설정하십시오. UIScreen :

http.progressView.view.frame = appDelegate.window.screen.applicationFrame; 
+0

OMG! 사실 :) :). 나는 이것을 해결하기위한 희망이별로 없었다. 너 한 무리 고마워! –

+0

누구에게 신경 쓸지 모르겠지만, 위의 matt에서 설명한 코드 변환은 다음과 같습니다. 서브 뷰를 추가하기 전에 다음 코드를 추가하십시오. http.progressView.view.frame = appDelegate.window.screen.applicationFrame; –

+0

@ NicolaeSurdu - 내 답변에 추가했습니다. – mattjgalloway