2012-10-01 6 views
0

iPad 앱에서 UIView를 사용하여 약간의 작업을 시도하고 있습니다. 예를 들어, 뷰 구조를 취부모보기에 UIView 하위보기 첨부하기

보기 1>보기 2>보기 3 개보기 모두 동일한 크기 모두 서로의 상단에 표시되는 3-

참고. 보기 1은보기 2의 부모이고보기 2는보기 3의 부모입니다. 사용자는 현재보기 3이 맨 위에 있음을보고 있습니다.

보기 2를 삭제하고 현재보기를 변경하지 않고보기 1에 모든 하위보기가있는보기 3을 첨부하려고합니다. 기본적으로 백그라운드에서 뷰 2를 제거하십시오. removeFromSuperview을 사용하는 것처럼 사용할 수 없으며 사용자가 현재보고있는 View 3도 제거됩니다.

내가보기에 3 가지 뷰를 추가로 부모 뷰의 자식으로 만드는 것이 더 바람직 할 것임을 깨달았습니다. 그런 식으로 저는 단지 removeFromSuperview이 될 수있었습니다. 그러나 누군가가 만들었다면 정말 호기심이 듭니다. 위에서 설명한 것처럼 작동합니다. 나는 당신이하려고하는 제대로 이해하면

답변

1

이 작동합니다 :

[view1 addSubview:view3]; 
[view2 removeFromSuperview]; 

UIView class ref에서 :

뷰는 하나의 superview을 가질 수 있습니다. 뷰에 이미 수퍼 뷰가 있고 해당 뷰가 리시버가 아닌 경우이 메서드는 리시버를 새로운 수퍼 뷰로 만들기 전에 이전 수퍼 뷰를 제거합니다.

+0

아. 나는 그것을 과소 평가했다. – unsunghero

관련 문제