从 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 行设置动画背景颜色