iOS选择器视图作为默认输入方法

时间:2014-09-03 21:46:09

标签: ios swift uilabel uipickerview

我的自定义tableview单元格中有labelA。当我点击标签时,我希望选择器视图显示在屏幕底部,以便选择可用选项。

我的问题是:我是否真的需要将PickerView拖放到故事板中的视图中,或者我可以将其作为默认输入法调用? (与文本字段的键盘相同)

如果是,我该怎么做? - 单击标签时我想要的只显示选择器并在选择完成后隐藏它。你能告诉我一些例子吗?

我在swift下开发,但iOS示例也很好。

感谢您的帮助!

修改 好标签不是原理,我可以直接使用来自单元格的输入触发器。点击后显示选择器视图并在选择后隐藏它。

2 个答案:

答案 0 :(得分:3)

我最常做的是使用UITextField并将inputAccessoryView属性设置为UIPickerView的实例。一旦点击UITextField而不是默认键盘,这将显示UIPickerView。

答案 1 :(得分:1)

您可以在tableView:didSelectRowAtIndexPath方法中的代码中实例化UIPickerView。您可以使用self.view addSubView将其添加到视图控制器。您必须编写代码才能使用表格视图将其正确放置在屏幕上。您可能希望调整表格视图的大小,使其缩小,并且您的选择器视图会显示在视图的底部。

更简单的方法是显示已设置UIPickerView的模态对话框。

UPDATE 创建一个UIViewController类型的新控制器。 将UIViewController拖到故事板上,并为其指定上述控制器的类型和故事板ID。我使用创建的UIViewController的名称。 将选择器视图添加到该视图并配置数据源。 为所选选项创建委托,并让它返回所选项目。   - (void)selectionMade:(NSString *)selectedValue;

在表视图控制器中,实现上面的委托方法。 在tableView:didSelectRowAtIndexPath中,加载该视图控制器并显示它。 [self.storyboard instantiateViewControllerWithIdentifier:@“”] 您的委托方法将获取该值,您可以使用tableView.indexPathForSelectedRow检索单元格。 相应地更新您的单元格。