Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIToolbar在自定义UITableViewCell中没有响应UIPickerView_Ios_Swift_Uitableview_Uipickerview_Uitoolbar - Fatal编程技术网

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

Ios UIToolbar在自定义UITableViewCell中没有响应UIPickerView,ios,swift,uitableview,uipickerview,uitoolbar,Ios,Swift,Uitableview,Uipickerview,Uitoolbar,我已经搜索了一段时间,但没有找到完全相同的东西 我有一个UITableView,当选择某一行时,我会在下面插入另一行。 插入的行是保存UIPickerView的自定义tableviewcell。 pickerview工作正常,当选择一个项目时,它可以触发通知,将所选信息发送回tableviewcontroller,然后删除“pickerviewcell”。那里一切都好。 但如果用户想要在uipickerview上来回滚动,这并不理想。因此,我在uipickerview中添加了一个uitoolba

我已经搜索了一段时间,但没有找到完全相同的东西

我有一个UITableView,当选择某一行时,我会在下面插入另一行。 插入的行是保存UIPickerView的自定义tableviewcell。 pickerview工作正常,当选择一个项目时,它可以触发通知,将所选信息发送回tableviewcontroller,然后删除“pickerviewcell”。那里一切都好。 但如果用户想要在uipickerview上来回滚动,这并不理想。因此,我在uipickerview中添加了一个uitoolbar,其中包含一个Cancel&Done按钮

但是“取消”和“完成”按钮永远不会被触发

从我读到的其他项目中,他们谈到了UIFirstResponder等,但它们都与使uipickerview成为UIExtField的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”单元格,插入具有选择器的新单元格。采摘器本身工作良好。但是取消按钮不会被触发。它有一个从故事板链接到它的iAction。 单击任何单元格也会正确关闭/删除选择器单元格


我在UITextview中创建了一个选择器,并使用

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

return NO;
然后用

-(void)dismissKeyboard {
[_date resignFirstResponder];
 }
其中_date是我的UITextfield属性


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

谢谢你的评论,但这不是我想要的。我没有将选择器用作inputaccessoryview或第一响应程序。它只是tableviewcell中的一个子视图,我需要触发uitoolbar的取消按钮,然后从视图中隐藏/删除该单元格。