2017-09-22 91 views
0

我有以下設置爲我UIToolBar /附件查看視圖控制器上iOS的11 inputAccessoryView破

@IBOutlet var inputFieldView: UIToolbar! 
override var canBecomeFirstResponder: Bool{ 
    return true 
} 

override var inputAccessoryView: UIView?{ 
    return self.inputFieldView 
} 

然後我的viewDidLoad裏面我有:

let seperator = UIView(frame: CGRect(x:0 , y: 0, width: ScreenSize.width(), height: 1)) 
    seperator.backgroundColor = UIColor.lightBackground 
    self.inputFieldView.addSubview(seperator) 
    self.inputFieldView.isTranslucent = false 
    self.inputFieldView.setShadowImage(UIImage(), forToolbarPosition: .any) 
    self.inputFieldView.setBackgroundImage(UIImage(), forToolbarPosition: .any, barMetrics: .default) 
    self.inputFieldView.removeFromSuperview() 

這對於IOS版本偉大的工作這是一個帶有「發送」按鈕的文本視圖。它位於屏幕的底部,按下後成爲第一響應者,允許鍵盤出現並正確定位。

隨着ios 11我甚至不能點擊它,當它在底部,所以我無法打字。

回答

0

解決了它。它看起來像UIToolbar的就是不正確的iOS工作11

把它改成一個的UIView和刪除

self.inputFieldView.isTranslucent = false 
self.inputFieldView.setShadowImage(UIImage(), forToolbarPosition: .any) 
self.inputFieldView.setBackgroundImage(UIImage(), forToolbarPosition: .any, barMetrics: .default) 

得到它的工作(和它UIToolbar在廈門國際銀行以及改變一個UIView。)

+0

您能否顯示您的完整代碼。我努力讓它顯現出來。 – arvidurs

+0

您是想重新創建我的問題,還是解決您自己的問題? @arvidurs – daredevil1234

4

這是iOS 11上的一個已知錯誤。UIToolbar子視圖不會獲取觸摸事件,因爲某些工具欄的內部視圖未正確設置。

當前的解決方法是在添加子視圖之前調用toolBar.layoutIfNeeded()。

你的情況:

inputFieldView.layoutIfNeeded() 

希望這將得到固定的下一個主要版本。