ios/uipickerview:我如何获得美国各州的选择器视图
Posted
技术标签:
【中文标题】ios/uipickerview:我如何获得美国各州的选择器视图【英文标题】:ios/uipickerview: How would I have a picker view for US states 【发布时间】:2015-03-22 15:47:02 【问题描述】:具有网络编程背景的ios新手。
在 html 中,我习惯于使用 select 语句下拉带有状态(即 AK、AL、CA、MA、NY、NJ 等)的框。使用 UIpickerview 的等效语法是什么?我知道如何将选取器视图放在情节提要中,但不知道如何让所有状态显示在选取器中,然后捕获选定的状态。
提前感谢您的任何建议。
【问题讨论】:
【参考方案1】:当您将 pickerView 放入 StoryBoard 中后,在您的 ViewController 中创建一个 IBOutlet,以及一组状态
@IBOutlet weak var myPicker: UIPickerView!
var states = ["state1", "state2","state3"]
var selectedState = ""
设置你的pickerView的委托和数据源
override func viewDidLoad()
super.viewDidLoad()
myPicker.dataSource = self
myPicker.delegate = self
调用委托方法:
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int
return 1
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int
return states.count
将数据放入选择器:
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!
return states[row]
并捕捉选中状态:
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
selectedState = states[row]
为 ObjC 编辑
创建 outlet 和设置 pickerView 的委托和数据源非常相似:这里是委托方法:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
return 1;
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
return ([states count]);
将数据放入选择器:
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
return ([states objectAtIndex: row]);
并捕捉选中状态:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
selectedState = ([states objectAtIndex:row]);
【讨论】:
这段代码看起来很干净,有那么一会儿,直到我意识到它是 Swift 之前,它没有任何意义。看起来不错,所以我将其标记为正确,但实际上是在 Objective C 中工作。你能翻译成 Obj C 吗? 我已经添加了ObjectiveC代码,但是由于我不是在ObjC上工作,如果您发现任何语法错误,请告知。 我在 .xib 而不是 Storyboard 中工作,并且在运行时,我使用我的 pickerView 导航到该页面,它基于 scrollView 的问题而崩溃。有什么想法吗? 我会建议提出一个新问题,并提供详细信息,以便于理解和解决问题。以上是关于ios/uipickerview:我如何获得美国各州的选择器视图的主要内容,如果未能解决你的问题,请参考以下文章
iOS7 UIPickerView 的奇怪行为与 UIImage 作为自定义视图,任何官方信息?
世界上最受欢迎的在线课程 获得美国四个国家科学院院士的顶级课程 学会如何学习Learning How to Learn - Barbara Oakley
世界上最受欢迎的在线课程 获得美国四个国家科学院院士的顶级课程 学会如何学习Learning How to Learn - Barbara Oakley
世界上最受欢迎的在线课程 获得美国四个国家科学院院士的顶级课程 学会如何学习Learning How to Learn - Barbara Oakley