- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
好的,我需要一个选择器,以便用户可以从预定义选项列表中进行选择。有人能给我一个简单、简化的版本,说明如何从 NSString 数组填充选择器 View 吗?那么,我如何从选择器中读取该值?我注意到像 nameOfPicker.value 和 nameOfPicker.text 这样的东西在这里不起作用。
谢谢!
我已经阅读了以下文档,但我并不真正理解它们的意思。 https://developer.apple.com/library/ios/documentation/userexperience/conceptual/UIKitUICatalog/UIPickerView.html https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaEncyclopedia/DelegatesandDataSources/DelegatesandDataSources.html#//apple_ref/doc/uid/TP40010810-CH11
最佳答案
这与通过设置数据源和委托(delegate)在 UITableView
中填充数据的方式非常相似。
1. 第一步是设置选择器 View 的委托(delegate)。在 .m
文件中设置数据源和委托(delegate)
@interface YourViewController () <UIPickerViewDataSource, UIPickerViewDelegate>
{
}
@property (strong, nonatomic) UIPickerView *yourPickerView;
2.分配数据源和委托(delegate)
self.yourPickerView.delegate = self;
self.yourPickerView.datasource = self;
3.实现数据源和委托(delegate)
// returns the number of 'columns' to display.
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
// returns the # of rows in each component..
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return self.yourArrayofStrings.count;
}
//The title that should be shown in picker view
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSString *yourTitle = [self.yourArrayofStrings objectAtIndex:row]
return yourTitle;
}
//This is called when Picker view value is selected
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
NSLog @(@"Selected row = %@",[self.yourArrayofStrings objectAtIndex:row]);
}
关于ios - 如何使选取器 View 从 NSString 数组填充?我将如何访问所选项目的值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22292300/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!