2010-07-17 8 views
0

저는 개발중인 프로그램에 대한 도움을 찾고 있습니다. 기본적으로 두 개의보기가 포함되어 있습니다. 첫 번째보기에는 단추가 있고 그것에 관련된 작업은 3 페이지에 대한 스크롤보기가있는 곳으로 (Apple에 의해 제공된 PageControl 샘플에서와 같이) 다음 번보기로 연결됩니다. 처음부터보기를 밀어 넣기 위해 탐색 컨트롤러를 사용하고 있습니다. 두 번째보기로보기. 그러나 밀어 넣을 때 나는 페이지를 스크롤하거나 페이지 컨트롤이나 다른 것을 사용할 수 없다. 그것은 단지 정상적인 시각을 제공합니다. 이 코드는 pageControl 코드와 동일하며 별도의 모듈로 잘 작동합니다. 그러나이 pageControl 코드를 첫 번째보기 및 클릭 단추와 통합하려고 할 때 작동하지 않습니다. 도와주세요.UIScrollView로보기를 만들 수 없습니다.

//이 함수는 rootviewcontroller의 버튼에 대해 설정된 액션입니다.

-(IBAction) viewScrollPages:(id)sender{ 
UIViewController *controller = [[MyViewController alloc] initWithPageNumber:0]; 
[self.navigationController pushViewController:controller animated:NO]; 
[controller release]; 

}

- (id)initWithPageNumber:(int)page { 
if (self = [super initWithNibName:@"MyViewController" bundle:nil]) { 
    pageNumber = page; 
} 
return self; 

}

- (void)viewDidLoad { 
NSMutableArray *controllers = [[NSMutableArray alloc] init]; 
for (unsigned i = 0; i < kNumberOfPages; i++) { 
    [controllers addObject:[NSNull null]]; 
} 
self.viewControllers = controllers; 
[controllers release]; 
// a page is the width of the scroll view 
scrollView.pagingEnabled = YES; 
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * kNumberOfPages, scrollView.frame.size.height); 
scrollView.showsHorizontalScrollIndicator = NO; 
scrollView.showsVerticalScrollIndicator = NO; 
scrollView.scrollsToTop = NO; 
scrollView.delegate = self; 
pageControl.numberOfPages = kNumberOfPages; 
pageControl.currentPage = 0; 
// pages are created on demand 
// load the visible page 
// load the page on either side to avoid flashes when the user starts scrolling 
[self loadScrollViewWithPage:0]; 
[self loadScrollViewWithPage:1]; 
pageNumberLabel.text = [NSString stringWithFormat:@"Page %d", pageNumber + 1]; 
self.view.backgroundColor = [MyViewController pageControlColorWithIndex:pageNumber]; 
[super viewDidLoad]; 

은}

+1

일부 코드는 문제를 이해하는 데 도움이됩니다. 만들고보기 코드를 게시하고 해당보기 컨트롤러에서 'viewDidLoad' 및 스크롤보기를 포함해야합니다보기 컨트롤러를 밀어 ... –

+0

코드를 추가했습니다. 기본적으로 apple http://developer.apple.com/iphone/library/samplecode/PageControl/Introduction/Intro.html에 의해 주어진 pageControl 샘플과 같은 코드입니다. 필요한 변경 사항은 응용 프로그램이 시작 되 자마자 스크롤 페이지가 표시되는 대신 단추를 한 번만 클릭하면 스크롤 페이지가 표시되어야한다는 것입니다. 귀하의 회신에 감사드립니다. 대단히 고맙습니다. – Viraj

+0

코드를 추가했습니다. apple http://developer.apple.com/iphone/library/samplecode/PageControl/Introduction/Intro.html에서 제공 한 Pagecontrol 샘플과 동일합니다. 필요한 유일한 수정 사항은 응용 프로그램이 시작 되 자마자 스크롤 페이지가 나타나지 않고 버튼이나 무언가를 클릭해야합니다. 답변 해 주셔서 감사합니다. 감사드립니다. – Viraj

답변

0

그것은 당신이 a를있는 ScrollView의 서브 뷰 대신있는 ScrollView 자신을 밀어 수있는 기본보기를 밀어처럼 들린다.

+0

UIViewController에서 클래스를 확장하고 UIScrollViewDelegate 프로토콜을 준수했습니다. – Viraj

+0

스크롤 뷰를위한 컨트롤러입니다. 컨트롤러를 밀 때 scrollview 자체의 뷰가 아니라 scrollview의 하위 뷰 중 하나를 올려 놓는 것과 같은 잘못된 뷰가 scrollview의 컨트롤러 뷰에 설정되어 있다고 생각합니다. – TechZen

+0

네, 그게 문제라고 생각합니다. 스크롤 뷰의 하위 뷰가 아닌 스크롤 뷰를 어떻게 푸시 할 수 있습니까? 참조 용 코드를 첨부했습니다. 도와 주셔서 감사합니다. – Viraj

관련 문제