2011-05-11 3 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/ –

答えて

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]; 
} 

EDIT:あなたは、単にドットをクリックすると、ビューコントローラを変更しようとしている場合は、あなたがあなたのページを設定する必要があります。メインビューにはUIPageControlが下にあり、UIView(これはcontrollerViewと呼ぶ)が画面のほとんどを占めるが、ページコントロールをオーバーレイしないようになっている。

また、ヘッダファイルにPageOne *pageOneController;PageTwo *pageTwoController;が必要です。これはメモリリークを防ぐのに役立ちます。

あなたが別のページを選択するときに、あなたはこれがあなたの代わりに二つの異なるビューコントローラを示すの二つのビューを表示することができます

+0

私は2つの点を持っていますが、両方の点で私は異なるビューコントローラを表示したいと私はスクロールビューを使用していません。どうやってやるの ? – sumit

+0

メインの答えにこれを入力するのが簡単になるので、私はそれを編集して、それをコンビネーションのために入れます – justin

+0

ありがとうございました.. – sumit

0

のためのトリックを行う必要があり、あなたの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; 
    } 
} 

呼ぶことにします。最初のドットを選択したままにして、最初のビューを表示し、その次のビューを画面外に表示することができます。ユーザーが2番目のドットをタップすると、UIViewアニメーションをUINavigationControllerを押すのと同じようにします。したがって、UIViewアニメーションを押してポップします。

ビューコントローラを表示する場合は、ビューコントローラの両方にページコントロールを表示する必要があります。これにより、ユーザーは別のビューコントローラに切り替えることができます。そのような場合は、メインウィンドウに追加されたビュー内にページコントロールを配置して、どこにでも表示できるようにする必要があります。

+0

最初のポイントの例がありますか?ありがとう。 – sumit

関連する問題