2009-05-20 4 views
21

뷰를 뒤로 보려고하면 뷰 컨트롤러에있는 버튼과 레이블 중 일부가 숨겨집니다. 내가 보내는 메시지는 UIImageView입니다. 누구든지 문제가 될 수 있다는 의견이 있습니까? 내가 self.view에 컨트롤을 추가하고 때, 그들은 항상 내가 얻을 수 있었다뷰를 뒤로 보냄


표시되지 않습니다 그런

UIImage *image = [UIImage imageNamed: @"background.jpg"]; 
UIImageView *backImage = [[UIImageView alloc] initWithImage: image]; 
[self.view addSubview: backImage]; 
[self.view sendSubviewToBack: backImage]; 

: 여기


내가 사용하고있는 코드입니다 그것은 내 코드를 init에서 loadView로 옮김으로써 구현된다. 나는 그것이 차이를 만들어야하는 이유를 이해하지 못한다. 그러나 헤이. 그것은 작용한다!

+0

몇 가지 샘플 코드를 게시 할 수 있습니까? – pgb

+0

'뒤에서 보내라'는 말을 전혀 모르는 경우 –

답변

17

, 당신은 아마 당신의 버튼을 UIImageView에서 계층 구조에 삽입합니다. 계층에서 뷰가 이동하면 모든 하위 뷰가 함께 이동합니다.

이 문제를 해결하려면 처음에 UIImageView을 추가 한 동일한보기의 하위보기 (가능하면 UIWindow)로 컨트롤을 추가해야합니다.

코드를 보지 않고도 더 정확하게 설명하는 것은 매우 어렵습니다.

0

동의. "뒤로 보내기"가 의미하는 바는 확실하지 않지만 여기에 추측이 있습니다 ...

기본보기에서 레이어를 조정하는 경우 "뒤로보기"를 보내지 않도록합니다 (subviews의 숫자가있는 그것의 층을 바꾸십시오 ... 그렇지 않으면 그들은 모두 동시에 (그들의 겹침은 변화 할 것입니다) 등을 맞댄 갈 것입니다.

이 내용이 귀하가 의도하지 않은 내용 인 경우 알려 주시면 답변을 삭제하겠습니다. 당신이 UIViewsendSubviewToBack: 또는 이와 유사한 메시지를 사용하는 경우

1

프로그래밍 방식으로 추가하고보기를 조정할 필요가 없으므로 인터페이스 작성기에서 각보기를 훨씬 쉽게 레이어링 할 수 있습니다. 이미지보기가 배경으로 설정된 경우 이미지보기가 제일 먼저 표시되는지 확인하십시오.