滚动页面时按钮事件无法正常工作

时间:2011-10-20 13:21:54

标签: iphone objective-c xcode

我创建了两个带有pagescrolling的按钮。现在,通过单击一个按钮,应该可以看到另一个按钮。在执行当前按钮的动作方法时,如何获得另一个按钮的索引?

以下是创建按钮的代码:

     for (int i = 0 ; i < numberOfPages ; i++)
{

     pageFrame = CGRectMake(i * scrollView.bounds.size.width, 0.0f, scrollView.bounds.size.width, 416) ;


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

    [scrollView addSubview:btnSettingButton];
    [btnSettingButton setHidden:YES];
  //  [btnSettingButton 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];

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


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

1 个答案:

答案 0 :(得分:1)

UIButton具有tag属性。您可以将计数器设置为标签,然后检查单击了哪个按钮。

btnCheckButton.tag = i;

动作:

-(void)checkBoxClicked:(UIButton*)sender{
    if (sender.tag == 0){//button into the first page
    }
    if (sender.tag == 1){//second
    }
}

要在查看中查找按钮,请使用方法viewWithTag: