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 回答