1

inputAccessoryView在旋转任何其他视图后,我遇到了问题。例如:1) 转到视图 A 并旋转到横向 2) 然后旋转回纵向。
3)去查看B

在视图 BI 中有下面的代码来分配inputAccessoryView一个UITextField但是,在我旋转应用程序中的任何视图后,附件视图总是附加到屏幕顶部而不是键盘顶部。如果我不旋转任何视图,附件视图会按预期附加到键盘顶部。

这是用于创建和分配的代码inputAccessoryView,它是从viewDidLoad

func addDoneButtonOnKeyboard(){

    let doneToolbar = UIToolbar(frame: CGRect(x:0, y:0, width:320, height:50))
    doneToolbar.barStyle = UIBarStyle.blackTranslucent
    doneToolbar.isTranslucent = true

    let flexSpace = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace,
                                    target: nil,
                                    action: nil)

    let doneButton = UIBarButtonItem(title: "Done",
                                     style: UIBarButtonItemStyle.done,
                                     target: self,
                                     action: #selector(MyVC.doneButtonAction))

    doneToolbar.setItems([flexSpace,doneButton], animated: false)
    doneToolbar.sizeToFit()
    doneToolbar.autoresizingMask=UIViewAutoresizing.flexibleWidth

    self.myTextFild.inputAccessoryView = doneToolbar
}

我已经搜索过,但没有看到任何其他类似的问题/答案....

4

1 回答 1

4

我的情况是 inputView 是一个 datePicker,我遇到了同样的问题。我的解决方案是:

textFieldDate.inputView?.autoresizingMask = [.flexibleHeight, .flexibleWidth]

不确定这是否对您也有帮助,因为您使用键盘作为 inputView 但也许它可以帮助其他人解决 datePicker 问题。

于 2017-09-26T08:36:08.003 回答