簡體   English   中英

當鍵盤彈出時將原點移動到頂部時會出現黑色

[英]Black color appears when moving origin to top when keyboard pops

我移動的起源self.view-minY文本字段時,鍵盤顯示,使文字秀場在屏幕的頂部。 但如果文本字段靠近底部,則框架底部會變成黑色。 我點擊附加圖像中的第一個文本字段,將其移動到頂部。 有沒有辦法移動視圖而不顯示黑色?

視圖層次結構是

+ UIViewController
  + UIView
    + UIScrollView
      + UIView
        - UITextField
        - UITextField
        - UITextField
self.view.frame.origin.y = -(tagsTextField.frame.minY)

截圖

您可以將嵌入視圖(可能是導航控制器)的背景顏色設置為與視圖背景顏色相同的顏色。

我通常在表單屏幕中執行的操作是將輸入字段放在UITableView 然后,我不是向上移動視圖以使當前輸入字段可見,而是滾動UITableView

因此, UITableView的背景視圖/顏色不會移動。

我通過在文本字段點擊上設置scrollview內容偏移來修復它。

scrollView.setContentOffset(CGPoint(x: 0, y: tagsTextField.frame.minY), animated: true)

並在鍵盤上重置關閉。

scrollView.setContentOffset(CGPoint(x: 0.0, y: 0.0), animated: true)

鍵盤框架按鍵盤高度隱藏文本字段時,可以向上移動框架:

override func keyboardWillBeShown(note: Notification) {
    let userInfo = note.userInfo
    let keyboardFrame = userInfo?[UIKeyboardFrameEndUserInfoKey] as! CGRect
    if keyboardFrame.intersects(activeTextField.frame) {
        UIView.animate(withDuration: 0.2) {
            self.view.frame.origin.y = -keyboardFrame.height
        }
    }
}

override func keyboardWillBeHidden(note: Notification) {
    UIView.animate(withDuration: 0.2) {
        self.view.frame.origin.y = 0
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM