使用 UIButton 从 UIPickerView 向 UILabel 显示输出
Posted
技术标签:
【中文标题】使用 UIButton 从 UIPickerView 向 UILabel 显示输出【英文标题】:Displaying output to a UILabel from UIPickerView using a UIButton 【发布时间】:2014-03-19 17:34:02 【问题描述】:作为 Objective-C 课程的一部分,我正在开发 Country and Capitals 应用程序。
到目前为止,当用户在选择器中选择一个国家时,相关的首都会显示在下面的标签中。
我的问题是如何编码,以便只有在用户单击“获取资本”按钮后才会显示首都。
我知道这似乎效率较低,但知道如何做会很有用!
SIMULATOR PIC
countryNames =[[NSArray alloc]initWithObjects:@"England",
@"United States",
@"India",
@"Australia",
@"Canada",
@"France",
@"The Netherlands",
@"South Africa",nil];
cityNames =[[NSArray alloc]initWithObjects:@"London",
@"Washington DC",
@"Dehli",
@"Canberra",
@"Ottawa",
@"Paris",
@"Amsterdam",
@"Cape Town",nil];
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
lblcapitalCity.text =[cityNames objectAtIndex:row];
// 不确定如何在点击按钮后只显示城市
【问题讨论】:
不要在 didSelectRow 中做任何事情。创建一个按钮并附加一个动作,根据[pickerView selectedRowInComponent:0]
分配 lblCapitalCity.text
感谢@David,但在阅读您的解决方案后我仍然不明白。我应该对:-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 进行哪些更改,我应该在这里编写什么代码:- (IBAction)getCapitalButton:(id)sender
【参考方案1】:
完全消除您的pickerView:didSelectRow:inComponent:
并将此操作用于按钮:
-(IBAction)getCapitalButton:(id)sender
lblCapitalCity.text = cityNames[[pickerView selectedRowInComponent:0]];
【讨论】:
以上是关于使用 UIButton 从 UIPickerView 向 UILabel 显示输出的主要内容,如果未能解决你的问题,请参考以下文章
使用 UIButton 从其他 UIViewController 中删除一行
如何在按住手指的同时从使用一个 UIButton 切换到另一个?
从 UITableViewCell 中的 UIButton 触发 Segue
如何在 UIToolbar 完成按钮中将焦点从一个 UIButton 设置到另一个 UIButton