gpt4 book ai didi

ios - 如何使选取器 View 从 NSString 数组填充?我将如何访问所选项目的值(value)?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:07:05 24 4
gpt4 key购买 nike

好的,我需要一个选择器,以便用户可以从预定义选项列表中进行选择。有人能给我一个简单、简化的版本,说明如何从 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com