2012-08-31 2 views
0

나는 두 개의보기가 A &라고 말합니다 B. 둘 다 UIViewController 클래스의 하위 클래스입니다.보기 A는 테이블보기가 아니지만 스크롤 가능보기입니다. 그것은 아이폰 차원 320 * 460 이상입니다. 보기 B는 스크롤보기가 아닙니다. 같은 모양 A에서 어떤 버튼을 클릭하는 동안 나는,보기 B를 호출하고아이폰 애플 리케이션에서 이전보기의 스크롤은 다음보기에서 사용할 수 없게됩니다

-(IBAction)bt:id(Sender) 
    { 
     B *mB=[[B alloc]initWithNib:@"B" bundle:nil]; 
     [self.view addSubView:mB.view]; 
    } 

문제는보기 A가 클 때, B가보기 이상로드 때문에 때, 심지어보기 A가보기 B.에서 부분적으로 볼 수있다 이 문제를 극복하기 위해 나를 도와주세요 ??

+0

보기 A에서 UIScrollView를 추가 했습니까? – Neo

+0

@ aj..yes 내가 해냈다. –

답변

0

제안 해 주셔서 감사하지만 내 문제에 대한 다른 해결책을 찾았습니다.

스크롤보기 A에서 다른보기, 즉 B보기를 추가 할 때, A의 스크롤보기 크기를 적절히 재설정하여 표시되지 않도록합니다.또한 뷰 B에서 뒤로 버튼을 누르면 뷰 A의 스크롤 뷰 치수가 이전 값으로 다시 설정됩니다. 또한 View A를 View B의 위임자로 만들었습니다. B의 Back Button을 누르면 View A에서 정의되고 View B 프로토콜의 일부인 함수를 호출해야합니다.

0

보기 B를 주보기에 추가하기 전에보기 A를 수퍼 뷰에서 제거하십시오.

in .h 두 객체 가져 오기

ViewA * aObject; ViewB * bObject; 보기 DidLoad이 방법을 추천보기 (A)의 견인 목적 및 B 뷰를 생성에서

aObject = [ViewA ALLOC] initWithNibName "ViewA"번들 @ 닐];

bObject = [[ViewB alloc] initWithNibName : @ "ViewB"번들 : nil];

[self.view addSubView : aObject.view];

당신은보기 B가이 코드를 추가 추가 할 때

[aObject.view removeFromSuperView]

[self.view addSubView : bObject.view]; 마찬가지로 돌아 가기 버튼 액션이

과 같은 코드를 추가 할 수 있습니다

[bObject.view removeFromSuperView]

[self.view addSubView : aObject.view];

애플리케이션에서이 스 니펫 코드를 사용해보세요. 도움이되기를 바랍니다. 그것은 당신의 이전 값을 잃지 않을거야

+0

아니,하지만 View A를 보존하고 싶고 View B의 Back 버튼을 클릭하여 A로 되돌아 가야한다. Back 버튼으로 돌아 왔을 때 –

+0

이 필요하다. 보기 밴드를 다시 추가보기 A와 –

+0

을 추가하지만 내가 그렇게한다면,보기 A의 다른 필드에있는 값들은 제거 될 것이다. 나는 그걸 원하지 않는다. –

0

문제는 당신이보기를 추가하는 것입니다 B보기 및보기 A는 스크롤보기에 별도의 UIView 아웃렛과 인터페이스 빌더에서 UIView를 만들어야합니다 smallViewB 무엇이든보기 보기 B를 표시하는 데 필요한 크기.

그런 다음 위에서 만든 View Outlet에 하위보기를 추가하십시오. 문제가 지속되면 알려주십시오. 내가 제대로 이해 경우에, 당신이하고 싶었던 것을 할 수

ViewA.your_scroll_view.scrollEnabled=NO; 

(ID) 보낸 사람 : (IBAction를) BT - 당신 이 추가

@interface ViewController A:UIViewController 
@property(nonautomic,retain)IBOutlet UIView *smallViewB; 

@implementation ViewController A 
@synthesize smallViewB; //Make connection smallViewB in Interface Builder. 

-(IBAction)bt:id(Sender) 
{ 
    B *mB=[[B alloc]initWithNib:@"B" bundle:nil]; 
    [self.smallViewB addSubView:mB.view]; 
} 
+0

@ Pandey..i는 그것을 할 것이고, 저녁으로 응답 할 것이다. .plz share는 다른 것을 또한 찾는다. 감사합니다. :) –

+0

아니 내 문제를 해결하지 .. .. ( –

0

보십시오.

관련 문제