2010-07-17 37 views
0

我正在尋找一些我正在開發的程序的幫助。基本上它包含兩個視圖。第一個視圖有一個按鈕和一個與它相關的動作,導致我進入下一個視圖,其中有三個頁面的滾動視圖(如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」的視圖控制器... – 2010-07-18 22:24:13

+0

我已添加代碼。它基本上與Apple http://developer.apple.com/iphone/library/samplecode/PageControl/Introduction/Intro.html給出的pageControl示例相同。我需要的修改是,一旦應用程序啓動,而不是滾動頁面,我只需要點擊一個按鈕後才顯示它。感謝您的答覆。非常感謝。 – Viraj 2010-07-19 08:21:50

+0

我已添加代碼。它與Apple http://developer.apple.com/iphone/library/samplecode/PageControl/Introduction/Intro.html給出的Pagecontrol示例相同。我需要做的唯一修改是,應用程序啓動後不會立即顯示滾動頁面,而應該在點擊按鈕之後纔會顯示滾動頁面。感謝您的回覆,非常感謝。 – Viraj 2010-07-19 08:26:36

回答

0

這聽起來像你推一個普通視圖是滾動視圖的子視圖,而不是推滾動視圖本身。

+0

我已經從UIViewController擴展了該類,並符合UIScrollViewDelegate協議。 – Viraj 2010-07-18 04:58:16

+0

這是您的滾動視圖控制器。我認爲你已經爲scrollview控制器的視圖設置了錯誤的視圖,這樣當你推動控制器時,它會放置scrollview的子視圖之一,而不是scrollview本身。 – TechZen 2010-07-18 12:18:34

+0

是的,我想這是問題所在。我將如何能夠推動滾動視圖而不是滾動視圖的子視圖?我附上了代碼以供參考。謝謝您的幫助。 – Viraj 2010-07-19 08:28:18