从 UIPickerView 的选定行设置 UIButton 的标题

Posted

技术标签:

【中文标题】从 UIPickerView 的选定行设置 UIButton 的标题【英文标题】:Set Title of UIButton from Selected Row of UIPickerView 【发布时间】:2012-04-06 20:49:43 【问题描述】:

详细的场景是这样的:

我正在使用循环创建 10 个按钮并将标签设置为 0-9。在点击每个按钮时,我正在调用一个 UIPickerView,我在其中从不同的数组加载数据。直到这里我得到了预期的结果。但我希望从 pickerView 中选择的行应该设置为相应按钮的标题。

我尝试过的方式 - 我将选定的行存储在 pickerViewDelegate 方法中的 NSString 中,并尝试像 setTitle 一样:

[myButton setTitle:selectedString forState:UIControlStateNormal]

但它没有反映在任何按钮中。

知道我错过了什么吗?

谢谢

【问题讨论】:

你在使用界面生成器吗? 如何设置myButton和selectedString? 一次检查picker的值是否保存在selectString中。并检查你是否获得了特定按钮的按钮标签。这样你就可以为它设置标题。 【参考方案1】:

您的 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];

希望对您有所帮助!

【讨论】:

以上是关于从 UIPickerView 的选定行设置 UIButton 的标题的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中为选定的 UIPickerView 行设置动画背景颜色

如何使用 UIPickerView 的选定值作为通知的时间间隔?

显示带有选定行的 UIPickerView

UIPickerView从中间的选定行开始

获取 UIPickerView 中每个组件的选定行

如何从UIPickerView获取选定的值