it-swarm.com.de

Es ist möglich, die Tastatur ohne die UITextField- und UITextView-iPhone-App anzuzeigen.

Ich arbeite in einer auf iPhone basierenden App. 

Ich möchte Tastatur mit der Tastatur inputAccessoryView in der Tastatur anzeigen, ohne UITextView und UITextField zu verwenden. Es ist möglich das zu tun? Bitte helfen Sie mir dabei. 

Danke im Voraus. Freue mich auf deine Hilfe. Vielen Dank.

BEARBEITEN:

Weil ich nicht möchte, dass UITextField/UITextView und das Steuerelement in UITextView/UITextField stehen. Ich werde inputAccessoryView auf der Tastatur UITextView hinzufügen. Wenn der Benutzer UITextview in der Tastatur inputView berührt, wird der eigentliche Vorgang fortgesetzt.

30
Gopinath

Für jeden, der Tastatur aus bestimmten Gründen ohne UITextField/UITextView anzeigen möchte, kann die Ansicht leicht erweitert werden, was eine Texteingabe erfordert, indem das UIKeyInput-Protokoll und die canBecomeFirstResponder-Methode implementiert werden.

21

Die Dokumentation dazu finden Sie hier:

Einfache Texteingabe

Alles, was Sie tun müssen, ist, dass Ihre Ansicht UIKeyInput implementiert und [inputView becomeFirstResponder] aufgerufen wird, wenn die Ansicht berührt wird. Ihre Sicht muss auch canBecomeFirstResponder implementieren und YES zurückgeben.

Beispielcode aus der iOS-Dokumentation, der dies ausführt.

18
Kostub Deshmukh

Sie können hier nach Ihrer Antwort suchen:

benutze-das-System-Tastatur-ohne-a-uitextview

iphone Tastatur ohne Textansicht

Und das kannst du auch versuchen.

    UIKeyboard *keyboard = [[[UIKeyboard alloc] initWithFrame: CGRectMake(0.0f,          contentRect.size.height - 216.0f, contentRect.size.width, 216.0f)] autorelease];
    [keyboard setReturnKeyEnabled:NO];
    [keyboard setTapDelegate:editingTextView];
    [inputView addSubview:keyboard];

Hier ist eine weitere Option, wenn dies Ihnen helfen könnte.

Erstellen Sie eine Ansicht, Beschriftung oder was auch immer mit UIKeyInput übereinstimmt. In diesem Fall ein UIView

Unterklasse a UIView:

import UIKit

class KeyInputView: UIView {
   var _inputView: UIView?

   override var canBecomeFirstResponder: Bool { return true }
   override var canResignFirstResponder: Bool { return true }

   override var inputView: UIView? {
       set { _inputView = newValue }
       get { return _inputView }
   }
}

// MARK: - UIKeyInput
//Modify if need more functionality
extension KeyInputView: UIKeyInput {
    var hasText: Bool { return false }
    func insertText(_ text: String) {}
    func deleteBackward() {}
}

Richten Sie Ihre Ansicht in diesem Fall mit einem Picker ein (in viewDidLoad oder wo auch immer)

let languangePicker = UIPickerView()
languangePicker.dataSource = self
languangePicker.delegate = self
keyInputView.inputView = languangePicker

Zum Anzeigen:

keyInputView.becomeFirstResponder()

Zum Ausblenden:

keyInputView.resignFirstResponder()

Auswahldaten aus der Datenquelle festlegen (Compiler erzwingt dies)

Datenauswahlereignisse vom Delegierten abrufen

0
alegelos

Im Xcode-Simulator:

Manchmal wird die Tastatur nicht angezeigt, da die Software-Tastatur ausgeschaltet ist. Gehe zu Hardware -> Tastatur -> Tastatur umschalten ????

0
eonist

Ich habe eine kleine Utility-Datei erstellt, die eine Tastatur mit einem Textfeld auf einem Tastendruck aufrufen kann!

https://github.com/havocked/TZKeyboardPop

0
Mindhavok