2011-11-27 2 views
3

이 단지 내 솔루션을 확인합니다 : I가 내가 3 UIViews 만든 IB에서UIViewController에 여러 UIView의

의 UIViewController에 의해 제어 사이에 교환하고자하는 두 UIView의 : B_View

TopView A_View 을

는 다음의 viewDidLoad에 나는이

을 일부 IBAction를 법에 그런 다음 [

[self addSubView] A_View]; 

를 추가

[A_View removeFromSuperview];
[self.view addSubview : B_View];

두 뷰를 실제로 바꿔 놓았습니다. TopView가 바로 거기 앉아 있습니다. 하지만 내 생각은 [[self view] removeFromSuperView]];을 호출 한 다음 B_view를 추가하는 것입니다. 빈 화면이 생깁니 까?

내 솔루션이 올바른 것입니까? 사전에

감사 감사 기독교

+0

시간을내어 질문을 작성하십시오. 이 시점에서 나는 당신이 정말로 우리에게 묻고있는 것이 무엇인지 모른다. – Cyprian

답변

1

그 방법은 훌륭하고 완벽합니다.

iOS 4.0 이상인 경우 UIView에서 transitionFromView:toView:duration:options:completion: 메서드를 사용할 수 있습니다. UIView에서는이를 제거하고 추가하며 전환 애니메이션을 제공합니다. 당신은 (가능성이 창 개체)가 수퍼의 에서 (예를 들어 Top_View, 등,이 파단의 포함) 컨트롤러의 기본 뷰 객체를 제거하고 있기 때문에 그 이유 [[self view] removeFromSuperview] 빈 창을 왼쪽

이다. 컨트롤러의보기 (예 : self.view)에 하위보기로 추가되거나 제거 될 때 모두 A_View를 제거하고 B_View를 추가하면 솔루션이 작동합니다.

2

나에게 잘 보인다. 꽤 일반적인 스와핑 스타일입니다. 하나만 제거하고 다른 하나를 추가하십시오.

항상 UIViewController의 뷰 자체를 수정해야합니다. 당신의 해결책은 괜찮습니다.