我已经搜索了一段时间,但找不到任何相同的东西 .
我有一个UITableView,当选择某一行时,我在下面插入另一行 . 插入的行是一个自定义的tableviewcell,它包含一个UIPickerView . pickerview工作正常,当选择一个项目时,它可以触发通知,将所选信息发送回tableviewcontroller,然后删除“pickerviewcell” . 一切都很好 . 但如果用户想要在uipickerview上来回滚动,这并不理想 . 所以我在uipickerview中添加了一个uitoolbar,带有Cancel&Done按钮 .
但取消和完成按钮永远不会被解雇 .
从我读过的其他项目,他们谈论UIFirstResponder等等,但它们都与使uipickerview成为uitextfield的inputaccessoryview有关 . 但这不是我在做的事情 .
我已尝试在代码和故事板中完成所有操作,每次都有相同的结果 .
下面的一些例子..
// (in my CustomTableViewCell's AwakeFromNib function)
let screenSize: CGRect = UIScreen.mainScreen().bounds
pickerView = UIPickerView(frame: CGRectMake(0,0, screenSize.width, 162))
pickerView.delegate = self
pickerView.dataSource = self
pickerToolbar.barStyle = UIBarStyle.Default
pickerToolbar.translucent = true
pickerToolbar.tintColor = UIColor.orangeColor()
pickerToolbar.sizeToFit()
pickerToolbar.userInteractionEnabled = true
pickerView.addSubview(pickerToolbar)
self.contentView.insertSubview(pickerView, atIndex: 3)
// both these logs show correct output
NSLog("picker subviews: %@", pickerView.subviews.description)
NSLog("toolbar subviews: %@", pickerToolbar.subviews.description)
屏幕截图示例:通过单击“收件人”单元格,将插入具有选取器的新单元格 . 选择器本身工作正常 . 但是取消按钮不会被触发 . 它有一个从Storyboard链接到它的IBAction . 单击任何单元格也会正确关闭/删除选取单元格 .
1 回答
我在UITextview中制作了一个选择器并使用了
然后解雇键盘
其中_date是我的UITextfield属性
Dismissing UIPickerView with Done button on UIToolBar
这是我在这个主题上发现的一个非常好的帖子!我希望它有所帮助 .