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