2011-05-11 31 views
2
pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(153,356,38,36) ]; 

pageControl.userInteractionEnabled =YES; 
pageControl.numberOfPages = 2; 
pageControl.currentPage = 1; 
pageControl.enabled = TRUE; 
[pageControl setHighlighted:YES]; 

[pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged]; 
[self.view addSubview:pageControl]; 
} 
- (IBAction) changePage:(id)sender 
{ 


} 

我正在以編程方式創建頁面控件,並且想要在頁面控件上單擊顯示新的視圖控制器。我需要如何實現這個changePage方法?誰能幫忙?UIPageControl中的問題

+0

http://www.iosdevnotes.com/tag/pagecontrol/ – 2013-02-14 16:03:32

回答

0

編程改變頁面的方法將是以下最簡單的方法:

- (IBAction)changePage:(id)sender { 
    CGrect frame; 
    frame.origin.x = self.scrollView.frame.size.width * self.pageControl.currentPage; 
    frame.origin.y = 0; 
    frame.size = self.scrollView.frame.size; 
    [self.scrollView scrollRectToVisible:frame animated:YES]; 
} 

編輯:如果你想簡單地通過點擊點更改視圖控制器,你需要設置你的頁面使主視圖在底部有一個UIPageControl,在另一個UIView(我們將調用這個控制器視圖)上面,它佔據了大部分屏幕,但不覆蓋頁面控件。您的頭文件中還需要PageOne *pageOneController;PageTwo *pageTwoController;。這將有助於防止內存泄漏。

所以,當你選擇另一個頁面,你會打電話給你changePage方法

- (IBAction)changePage:(id)sender { 
    if (sender.currentPage == 1) { 
     // make sure only one instance exists at a time so there aren't any memory leaks; 
     if (pageOneController != nil) { 
      pageOneController = nil; 
      [pageOneController release]; 
     } 
     // load up page one; 
     pageOneController = [[PageOne alloc] initWithNibName:@"PageOneNib" bundle:nil]; 
     // set this as the primary view; 
     controllerView = viewController.view; 
    } else { 
     // do the same for your other page; 
    } 
} 

這應該做的伎倆爲您

+0

我有兩個點,在兩個點上我想顯示不同的視圖控制器,我沒有使用滾動視圖。我怎樣才能做到這一點 ? – sumit 2011-05-11 06:43:33

+0

在主要答案中輸入這個會比較容易,所以我要編輯它並將它放在方便的地方 – justin 2011-05-11 06:59:05

+0

謝謝了.. – sumit 2011-05-11 10:40:15

0

您可以顯示兩個視圖,而不是顯示兩個不同的視圖控制器。您可以保持第一個點被選中並顯示第一個視圖,並在屏幕右側顯示下一個視圖。當用戶點擊第二個點時,使UIView動畫類似於推入UINavigationController。因此,您可以使用UIView動畫進行推送和彈出。

如果您想要顯示視圖控制器,則頁面控件需要在視圖控制器中顯示,以便用戶可以從一個切換到另一個。在這種情況下,您需要在視圖中添加頁面控件,並將其添加到主窗口中,以便隨處可見。

+0

你有沒有第一點的例子?謝謝。 – sumit 2011-05-11 08:36:11