Ich habe eine UIView wo schreibe ich Aktionen für Buttons. In der XIB-Datei habe ich eine Leiste, die über der Tastatur mit diesen Tasten steht. Wie man diese Knöpfe mit ViewController verbindet, die UITextView hat und wenn Knopf geklickt wird, sollte in UITextView getan werden (Beispiel: Wenn ich die "Fett" Taste anklicke, sollte der ausgewählte Text in UITextView fett sein) [! hier] [2]] [2]Verbinde UIView mit XIB mit einem anderen ViewController
import UIKit
protocol NoteViewDelegate {
func didUpdateNoteWithTitle(newTitle : String, andBody newBody : String)
}
class NewNoteViewController: UIViewController , UITextViewDelegate {
var delegate : NoteViewDelegate?
@IBOutlet weak var textBody: UITextView!
var strBodyText : String!
override func viewDidLoad() {
super.viewDidLoad()
self.textBody.text = self.strBodyText
self.textBody.becomeFirstResponder()
self.textBody.delegate = self
NotificationCenter.default.addObserver(self, selector: #selector(NewNoteViewController.updateTextView(notification:)) , name: Notification.Name.UIKeyboardWillChangeFrame, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(NewNoteViewController.updateTextView(notification:)) , name: Notification.Name.UIKeyboardWillHide, object: nil)
textBody.inputAccessoryView = Bundle.main.loadNibNamed("CustomAccessoryView", owner: self, options: nil)?.first as? UIView
}
func updateTextView (notification:Notification) {
let userInfo = notification.userInfo!
let keyboardEndFrameScreenCoordinates = (userInfo[UIKeyboardFrameEndUserInfoKey] as! NSValue).cgRectValue
let keyboardEndFrame = self.view.convert(keyboardEndFrameScreenCoordinates, to: view.window)
if notification.name == Notification.Name.UIKeyboardWillHide {
textBody.contentInset = UIEdgeInsets.zero
}else{
textBody.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: keyboardEndFrame.height, right: 0)
textBody.scrollIndicatorInsets = textBody.contentInset
}
textBody.scrollRangeToVisible(textBody.selectedRange)
}
Ich weiß nicht wo ich "addTarget (_: action: for :)" nennen soll. Ich habe diese Leiste mit Schaltflächen in der .xib-Datei erstellt. –
Sie haben Ihren Code nicht gezeigt, wie Sie die _.xib_ laden, über die Sie gesprochen haben, also kann ich Ihnen nicht über das hinaus sagen, was ich gesagt habe: Wenn Sie es laden, haben Sie die Referenz, die Sie brauchen. Du hast einen völlig sinnlosen Screenshot gezeigt. Der Code ist wichtig. – matt
Hahaha yeah Ich weiß, ich wollte die Tasten zeigen, und hier ist der Code –