【发布时间】:2015-02-27 08:12:55
【问题描述】:
我有一个 UIPickerView,我正在添加一个 UIToolBar 和 2 个 UIBarButtonItems。
var toolBar = UIToolbar()
toolBar.frame.origin.y = -40
toolBar.barStyle = UIBarStyle.Default
toolBar.translucent = true
toolBar.tintColor = UIColor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1)
toolBar.sizeToFit()
var doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Bordered, target: self, action: "donePicker")
var spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
var cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Bordered, target: self, action: "canclePicker")
toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false)
toolBar.userInteractionEnabled = true
pickerView.addSubview(toolBar)
pickerView.bringSubviewToFront(toolBar)
view.bringSubviewToFront(toolBar)
问题是,当我尝试单击 UIBarButtonItem 时,它不会触发,甚至无法识别它,它只是单击它下面的单元格。
【问题讨论】:
-
我看到的唯一原因是这个 toolBar.frame.origin.y = -40。工具栏超出了选择器视图的范围。
-
我用y=0试了一下,还是一样,只是这次点击了它下面的pickerView...
-
您是否尝试过 pickerView.inputAccessoryView = toolBar 而不是将其添加为子视图?
-
是的,这是我的意图,但如果我设置 inputAccessoryView,它甚至不会显示工具栏。你的意思是 textField.inputAccessoryView 对吗?无法将附件视图添加到pickerView
-
对不起。不是pickerView.inputAccessoryView。 textField.inputView = pickerView textField.inputAccessoryView = toolBar
标签: ios swift uipickerview uibarbuttonitem uitoolbar