0

詳細なシナリオは次のとおりです。

ループを使用して 10 個のボタンを作成し、0 ~ 9 のタグを設定しています。各ボタンをタップすると、さまざまな配列からデータをロードしている UIPickerView を呼び出しています。ここまでは、期待どおりの結果が得られています。しかし、pickerView から選択した行をそれぞれのボタンのタイトルとして設定する必要があります。

私が試した方法 - 選択した行を pickerViewDelegate メソッドの NSString に保存し、次のように setTitle を試みました:

[myButton setTitle:selectedString forState:UIControlStateNormal]

しかし、それはどのボタンにも反映されていません。

私は何が欠けているのですか?

ありがとう

4

1 に答える 1

2

あなたのUIButtonタップアクション、

- (IBAction) buttonTaped:(UITapGestureRecognizer *)sender 
{
    myButton=(UIButton *) sender.view; //It will make reference to tapped button,
    //Once you've this, in your picker delegate, you can set title for it
    //myButton should be declare in your controller's header file.
}

また

- (IBAction) buttonTaped:(UIButton *)sender 
{
    myButton=(UIButton *) sender;
}

あなたの UIPickerView デリゲート

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{
    [myButton setTitle:[yourArray objectAtIndex:row] forState:UIControlStateNormal];
}

これがあなたを助けることを願っています!

于 2012-04-07T10:18:54.880 に答える