2017-09-19 48 views
1

我我的项目更新为我有一个inputText的使用选择器 白衣一个输入视图我在inputText的添加了一个UIToolBar。 它在升级前运行良好。 现在它就像UIPickerView它超过了UIToolBarUiPickerView过UiToolBar - 斯威夫特4升级错误

我可以看到,但如果我点击它就像我点击UIPickerView

UIToolBar这是完全的工作,因为如果我的工具栏设置为普通的TextInput它看起来和工作以及..

什么可?

这里是我的代码:

var picker: UIPickerView 
picker = UIPickerView(frame: CGRect(x: 0, y: 200, width: view.frame.width, height: 300)) 
picker.backgroundColor = .white 

picker.showsSelectionIndicator = true 
picker.delegate = self 
picker.dataSource = PickerData as? UIPickerViewDataSource 


textField.inputView = picker 

let toolBar = UIToolbar() 
toolBar.barStyle = UIBarStyle.default 
toolBar.isTranslucent = true 
toolBar.tintColor = .blue 
toolBar.sizeToFit() 

let doneButton = UIBarButtonItem(title: "Seleziona", style: UIBarButtonItemStyle.plain, target: self, action: #selector(self.doneFunction(_:))) 
let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil) 
let cancelButton = UIBarButtonItem(title: "Annulla", style: UIBarButtonItemStyle.plain, target: self, action: #selector(self.doneFunction(_:))) 

toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false) 
toolBar.isUserInteractionEnabled = true 

textField.inputAccessoryView = toolBar 

我也picker.addSubview(toolBar)但丝毫同样的结果尝试。

回答

0

我有同样的问题,我解决了它与背景视图和添加2个子视图 - 选择器和工具栏。 下面是代码:

let toolBar = UIToolbar() 
    toolBar.barStyle = UIBarStyle.default 
    toolBar.isTranslucent = true 
    toolBar.tintColor = green 
    toolBar.sizeToFit() 

    picker = UIPickerView(frame: CGRect(x: 0, y: toolBar.frame.size.height, width: view.frame.width, height: 300)) 
    picker.tintColor = green 
    picker.showsSelectionIndicator = true 
    picker.delegate = self 
    picker.dataSource = self 

    let bgView = UIView(frame: CGRect(x: 0, y: 200, width: view.frame.width, height: 300 + toolBar.frame.size.height)) 

    let doneButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(nextPicker)) 
    let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil) 
    let cancelButton = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: #selector(cancelPicker)) 
    toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false) 
    toolBar.isUserInteractionEnabled = true 

    bgView.addSubview(picker) 
    bgView.addSubview(toolBar) 
    cell.textField.inputView = bgView 

希望它帮助。

+0

感谢它的完美工作 – Piedecess