首页 文章

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

提问于
浏览
0

我已经搜索了一段时间,但找不到任何相同的东西 .

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

enter image description here

1 回答

  • 0

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

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

    然后解雇键盘

    -(void)dismissKeyboard {
    [_date resignFirstResponder];
     }
    

    其中_date是我的UITextfield属性

    Dismissing UIPickerView with Done button on UIToolBar

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

相关问题