iOS 11上是否更改了UIPickerView?

iOS 11上是否更改了UIPickerView?,ios,ios11,Ios,Ios11,在我们的应用程序中,我们有一个UIPickerView,可以让你选择一个季节。但是,在iOS 11上,完成按钮和取消按钮消失,只有在应用程序之间切换时才可见。还有其他人经历过吗 iOS 11行为的屏幕截图,下面是iOS 10行为 编辑:以下是有关该问题的详细信息: 下面是设置选择器视图的代码 func setUpPickerView(){ self.seasonPicker = UIPickerView.init(frame: CGRect.init(x: 0, y: 50, widt

在我们的应用程序中,我们有一个UIPickerView,可以让你选择一个季节。但是,在iOS 11上,完成按钮和取消按钮消失,只有在应用程序之间切换时才可见。还有其他人经历过吗

iOS 11行为的屏幕截图,下面是iOS 10行为

编辑:以下是有关该问题的详细信息:

下面是设置选择器视图的代码

func setUpPickerView(){

    self.seasonPicker = UIPickerView.init(frame: CGRect.init(x: 0, y: 50, width: self.frame.width, height: UIScreen.main.bounds.height / 3))
    self.seasonPicker.delegate = self
    self.seasonPicker.dataSource = self

    self.seasonTextField.inputView = self.seasonPicker

    let toolbar = UIToolbar.init(frame: CGRect.init(x: 0, y: 0, width: self.frame.width, height: 50))
    toolbar.barStyle = UIBarStyle.default

    let labelTitle = UILabel.init(frame: CGRect.init(x: 0, y: 50, width: 150, height: 20))
    labelTitle.backgroundColor = UIColor.clear
    labelTitle.textColor = UIColor.black
    labelTitle.textAlignment = NSTextAlignment.left
    labelTitle.text = "Select a Season"
    labelTitle.sizeToFit()

    let typeFeild = UIBarButtonItem.init(customView: labelTitle)
    let cancelButton = UIBarButtonItem.init(title: "Cancel", style: UIBarButtonItemStyle.plain, target: self, action: #selector(didClickPickerCancel))
    let flexSpace = UIBarButtonItem.init(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)
    let doneButton = UIBarButtonItem.init(title: "Done", style: UIBarButtonItemStyle.plain, target: self, action: #selector(didClickPickerDone))
    toolbar.items = [cancelButton, flexSpace, typeFeild, flexSpace, doneButton]

    toolbar.sizeToFit()

    self.seasonTextField.inputAccessoryView = toolbar

}

事实证明,有一个简单的解决方法:

self.seasonPicker.translatesAutoresizingMaskIntoConstraints = false

在内部,看起来他们已经更改了输入附件视图的行为,以在默认情况下启用此属性。

我已使用
initWithFrame
进行了分配,因此我更改为

   UIPickerView picker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 43, 320, 480)];

也适用于
UIToolbar

UIToolbar工具栏=[UIToolbar alloc]initWithFrame:CGRectMake(0,0320,56)]


现在可以看到完成了。。。问题是旧的iOS 10允许修复大小。。。现在,新的是iOS 11的最佳使用方式,这些按钮不是picker视图的一部分,我怀疑这与它们有什么关系。更可能的是,这与您展示或布置容器的方式有关,您正在其中展示所有这些内容。您应该发布创建该视图/控制器的代码。
UIPickerView picker =  [UIPickerView new];
UIToolbar toolbar = [UIToolbar new];