我已经搜索了一段时间,但找不到任何相同内容。
我有一个UITableView,当选择某一行时,我在下面插入另一行。 插入的行是一个自定义的tableviewcell,它包含一个UIPickerView。 pickerview工作正常,当选择一个项目时,它可以触发通知,将所选信息发送回tableviewcontroller,然后删除" pickerviewcell"。一切都很好。 但是,如果用户想要在uipickerview上来回滚动,这并不理想。所以我在uipickerview中添加了一个uitoolbar,带有一个取消&完成按钮。
但取消和完成按钮永远不会被解雇。
从我读过的其他项目,他们谈论UIFirstResponder等等,但它们都与使uipxtview成为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)
屏幕截图示例: 通过点击" To"单元格,插入具有拾取器的新单元。选择器本身工作正常。但取消按钮不会被触发。它有一个从Storyboard链接到它的IBAction。 单击任何单元格也会正确关闭/删除选取单元格。
答案 0 :(得分:0)
我在UITextview中制作了一个选择器,我使用
-(BOOL) textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return NO;
然后用
解雇键盘-(void)dismissKeyboard {
[_date resignFirstResponder];
}
其中_date是我的UITextfield属性
Dismissing UIPickerView with Done button on UIToolBar
这是我在这个主题上发现的一个非常好的帖子!我希望它有所帮助。