Ios 键盘和文本字段之间的黑条

Ios 键盘和文本字段之间的黑条,ios,swift,xcode,iqkeyboardmanager,Ios,Swift,Xcode,Iqkeyboardmanager,我遇到了一个小问题。我正在学习一门关于iOS开发的课程,我遇到了一个问题。我是一个完美主义者,我想让应用程序达到完美,但我不知道该怎么挖掘。在键盘和文本字段之间有一条小黑线,它清楚地吸引了人们的注意力。 怎么做?如何删除它?我应该往哪边滴?也许这是Xcode 12.3中的一个问题?这可能是因为IQKeyboardManagerSwift与当前版本的Xcode冲突吗?我看的视频没有这个问题 AppDelegate.swift(我在这里调用键盘): 此问题的解决方案是添加以下代码行: IQKeybo

我遇到了一个小问题。我正在学习一门关于iOS开发的课程,我遇到了一个问题。我是一个完美主义者,我想让应用程序达到完美,但我不知道该怎么挖掘。在键盘和文本字段之间有一条小黑线,它清楚地吸引了人们的注意力。 怎么做?如何删除它?我应该往哪边滴?也许这是Xcode 12.3中的一个问题?这可能是因为IQKeyboardManagerSwift与当前版本的Xcode冲突吗?我看的视频没有这个问题

AppDelegate.swift(我在这里调用键盘):


此问题的解决方案是添加以下代码行:

IQKeyboardManager.shared.keyboardDistanceFromTextField = 0

您是否已尝试将'IQKeyboardManager.sharedManager().canAdjustAdditionalSafeAreaInsets=true'添加到应用程序委派中?据我所知,这个语法在IQKeyboardManager中存在了很长一段时间。我在IQKeyboardManager 6.5.6中找不到此方法
import UIKit
import Firebase

class ChatViewController: UIViewController {
    
    @IBOutlet weak var tableView: UITableView!
    @IBOutlet weak var messageTextfield: UITextField!
    
    let db = Firestore.firestore()
    
    var messages: [Message] = []
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        tableView.dataSource = self
        title = K.appName
        navigationItem.hidesBackButton = true
        
        tableView.register(UINib(nibName: K.cellNibName, bundle: nil), forCellReuseIdentifier: K.cellIdentifier)
        
        loadMessages()
        
        // add clear button in text field
        messageTextfield.clearButtonMode = .always
        messageTextfield.clearButtonMode = .whileEditing
        
        // попробовать сделать так, чтобы при нажатии на кнопку переходило на новый абзац в Textfield
    }
    
    func loadMessages() {
        db.collection(K.FStore.collectionName).order(by: K.FStore.dateField).addSnapshotListener { (querySnapshot, error) in
            self.messages = []
            if let e = error {
                print("There was an issue retrieving data from firestore, \(e)")
            } else {
                if let snapshotDocuments = querySnapshot?.documents {
                    for doc in snapshotDocuments {
                        let data = doc.data()
                        if let messageSender = data[K.FStore.senderField] as? String, let messageBody = data[K.FStore.bodyField] as? String {
                            let newMessage = Message(sender: messageSender, body: messageBody)
                            self.messages.append(newMessage)
                            DispatchQueue.main.async {
                                self.tableView.reloadData()
                                let indexPath = IndexPath(row: self.messages.count - 1, section: 0)
                                self.tableView.scrollToRow(at: indexPath, at: .top, animated: true)
                            }
                        }
                    }
                }
            }
        }
    }
    
    @IBAction func sendPressed(_ sender: UIButton) {
        if let messageBody = messageTextfield.text, let messageSender = Auth.auth().currentUser?.email {
            db.collection(K.FStore.collectionName).addDocument(data: [
                K.FStore.senderField: messageSender,
                K.FStore.bodyField: messageBody,
                K.FStore.dateField: Date().timeIntervalSince1970
            ]) { (error) in
                if let e = error {
                    print("There was an issue saving data to firestore, \(e)")
                } else {
                    print("Successfully saved data")
                    DispatchQueue.main.async {
                        self.messageTextfield.text = ""
                    }
                }
            }
        }
    }
    
    @IBAction func logOutPressed(_ sender: UIBarButtonItem) {
        do {
            try Auth.auth().signOut()
            navigationController?.popToRootViewController(animated: true)
        } catch let signOutError as NSError {
            print ("Error signing out: %@", signOutError)
        }
    }
}

extension ChatViewController: UITableViewDataSource {
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return messages.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let message = messages[indexPath.row]
        
        let cell = tableView.dequeueReusableCell(withIdentifier: K.cellIdentifier, for: indexPath) as! MessageCell
        cell.label.text = message.body
        
        if message.sender == Auth.auth().currentUser?.email {
            cell.leftImageView.isHidden = true
            cell.rightImageView.isHidden = false
            cell.messageBubble.backgroundColor = UIColor(named: K.BrandColors.lightPurple)
            cell.label.textColor = UIColor(named: K.BrandColors.purple)
        } else {
            cell.leftImageView.isHidden = false
            cell.rightImageView.isHidden = true
            cell.messageBubble.backgroundColor = UIColor(named: K.BrandColors.purple)
            cell.label.textColor = UIColor(named: K.BrandColors.lightPurple)
        }
        return cell
    }
}

IQKeyboardManager.shared.keyboardDistanceFromTextField = 0