我的自定义tableview单元格中有labelA。当我点击标签时,我希望选择器视图显示在屏幕底部,以便选择可用选项。
我的问题是:我是否真的需要将PickerView
拖放到故事板中的视图中,或者我可以将其作为默认输入法调用? (与文本字段的键盘相同)
如果是,我该怎么做? - 单击标签时我想要的只显示选择器并在选择完成后隐藏它。你能告诉我一些例子吗?
我在swift下开发,但iOS示例也很好。
感谢您的帮助!
修改 好标签不是原理,我可以直接使用来自单元格的输入触发器。点击后显示选择器视图并在选择后隐藏它。
答案 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检索单元格。 相应地更新您的单元格。