2011-10-20 10 views
1

私はスクロール機能を持​​つpagecontrolを使用しています。pagecontrolをスクロールして現在のページインデックスを特定する方法は?

このページコントロールでは、3つのラベルと2つのボタンを作成しました。

今、私は

現在のページ中には、ButtonClickイベントを実行する方法を特定することができbutton.forをクリックしながら、機能を実行します。私はすでにそれが隠されていること

時間butat作成された別のlableを表示するボタンをクリックすると

。私を案内してください。ここ

がpagecontrolでオブジェクトを作成するためのコードです:

  UILabel *lblReward=[[UILabel alloc]initWithFrame:pageFrame]; 
    [lblReward setFrame:CGRectMake(i * (scrollView.bounds.size.width)+60, 200, 200, 25)]; 
    lblReward.backgroundColor=[UIColor clearColor]; 
    lblReward.textColor=[UIColor whiteColor]; 
    [scrollView addSubview:lblReward]; 
    NSString *strReward=[[pageControlData objectAtIndex:i]objectForKey:@"Reward"]; 

    NSLog(@"strDetails=%@",strReward); 
    [lblReward setText:strReward]; 
    [lblReward release]; 

     UIButton *btnCheckButton=[[UIButton alloc]initWithFrame:pageFrame ]; 
    [ btnCheckButton setFrame:CGRectMake(i * (scrollView.bounds.size.width)+250, 260, 20, 20)]; 
    [btnCheckButton setImage:[UIImage imageNamed:@"NO.png"] forState:UIControlStateNormal]; 

    [btnCheckButton addTarget:self action:@selector(checkBoxClicked:) forControlEvents:UIControlEventTouchUpInside]; 


    [scrollView addSubview:btnCheckButton]; 
    [btnCheckButton release]; 


    UIButton *backButton=[[UIButton alloc]initWithFrame:pageFrame ]; 


    [ backButton setFrame:CGRectMake(i * (scrollView.bounds.size.width)+10, 410, 30, 30)]; 
    [backButton setImage:[UIImage imageNamed:@"Arrow Icon.png"] forState:UIControlStateNormal]; 
    [backButton addTarget:self action:@selector(backButtonClicked) forControlEvents:UIControlEventTouchUpInside]; 

    [scrollView addSubview:backButton]; 
    [backButton release]; 


    UIButton *showcaseButton=[[UIButton alloc]initWithFrame:pageFrame ]; 
    [ showcaseButton setFrame:CGRectMake(i * (scrollView.bounds.size.width)+270, 410, 30, 30)]; 
    [showcaseButton setImage:[UIImage imageNamed:@"Showcase Icon.png"] forState:UIControlStateNormal]; 

    [showcaseButton addTarget:self action:@selector(showcaseButtonClicked) forControlEvents:UIControlEventTouchUpInside]; 

    [scrollView addSubview:showcaseButton]; 
    [showcaseButton release]; 


} 

今私は、チェックボタンをクリックすることでlabelrewardを示したいと思います。

答えて

2

ページを特定するには、scrollviewのcontentOffsetプロパティを使用します。例:

NSInteger index = scrollView.contentOffset.x/scrollView.frame.size.width; 
+0

ありがとうございます。 – Developer

1

あなたがして、ページ制御の一切を、現在のページを取得することはできません: - アップルドキュメントから

int currentPageNo=[*yourPageControlObjectName*.currentPage]; 

: - 白い点として受信機によって示さ

currentPage 

現在のページ、。

@property(nonatomic) NSInteger currentPage 

ディスカッションプロパティ値は、現在のページを指定する整数が示されているマイナス1。ゼロ(デフォルト)の値は最初のページを示します。ページコントロールは、現在のページを白い点として表示します。可能な範囲外の値は、0またはnumberOfPagesから1を引いた値に固定されます。

+1

申し訳ありません。 – Developer

+0

ありがとう...私のために働いた。 –

関連する問題