一、好,接下来,我们要实现这个答案按钮的单击事件, 1.好,这个答案按钮的单击事件,怎么注册呢,首先,我们要找到生成答案按钮的这个代码吧, 在这个方法里面吧: - (void)makeAnswerButtons:(TestQuestion *)model{ } 这个是我们创建这个答案按钮, 这个完毕以后,是不是要给答案按钮注册单击事件啊: for(int i = 0 ; i < len ; i++){ //创建按钮 UIButton *btnAnswer = [[UIButton alloc] init]; //设置按钮的背景图 [btnAnswer setBackgroundImage:[UIImage imageNamed:@“btn_answer” forState:UIControlStateNormal]; [btnAnswer setBackgroundImage:[UIImage imageNamed:@“btn_answer_highlighted” forState:UIControlStateHighlighted]; //计算按钮的x值 CGFloat answerX = marginLeft + i * (answerW + margin); btnAnswer.frame = CGRectMake(answerX,answerY,answerW,answerH); //设置答案按钮的文字颜色 [btnAnswer setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; //把按钮加到answerView中 [self.answerView addSubview:btnAnswer]; } 刚才在你创建这个答案按钮的时候,你想到应该给它注册单击事件了吗,可能就是没想到,如果想到的话,当时就会写上,如果没想到的话,就在你想到的时候再给它写上, //为答案按钮注册单击事件 [btnAnswer addTarget:self action:@selector(btnAnswerClick) forControlEvents:(UIControlEvents)]; [btnAnswer addTarget:self action:@selector(btnAnswerClick) forControlEvents:UIControlEventTouchUpInside]; //ok,让当前控制器的哪个方法来监听呢,待会儿我们写个方法吧,监听什么事件呢,单击事件吧, //那么,这个Click事件,是不是也要把当前点击的是哪个答案按钮给传过来, //参数sender,就表示当前点击的答案按钮, - (void)btnAnswerClick:(UIButton *)sender{ statement } //在这个答案按钮的单击事件里面,大家想一想,当我们点击这个答案按钮的时候,我们做了几件事儿,去看一点这个按钮,这么点一下做了几件事: 1)第一件事儿,就是把当前点击的这个答案按钮装的文字,是不是给它怎么样,变成ni