UIToolbar在UIPickerView的自定义UITableViewCell中没有响应

时间:2015-11-14 00:13:36

标签: ios swift uitableview uipickerview uitoolbar

我已经搜索了一段时间,但找不到任何相同内容。

我有一个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。 单击任何单元格也会正确关闭/删除选取单元格。

enter image description here

1 个答案:

答案 0 :(得分:0)

我在UITextview中制作了一个选择器,我使用

 -(BOOL) textFieldShouldReturn:(UITextField *)textField{
 [textField resignFirstResponder];

return NO;

然后用

解雇键盘
-(void)dismissKeyboard {
[_date resignFirstResponder];
 }

其中_date是我的UITextfield属性

Dismissing UIPickerView with Done button on UIToolBar

这是我在这个主题上发现的一个非常好的帖子!我希望它有所帮助。