versucht, die Taste Done zur numerischen Tastatur hinzuzufügen

8

Ich versuche, dem UIKeyboadnumpad einen "Fertig" -Button hinzuzufügen, aber ohne Erfolg. Was ist falsch in meinem Code?

Die Tastatur hat keine Fertig-Taste

%Vor%     
user784625 31.01.2012, 12:51
quelle

4 Antworten

27

Eine andere Lösung. Perfekt, wenn auf dem Bildschirm andere Nicht-Nummernblock-Textfelder angezeigt werden.

%Vor%

Ich brauchte den Telefonblock (mit der + * #) und nicht den Nummernblock, hatte ich nicht einmal den leeren Knopf in der Ecke.

    
Luda 08.07.2012 09:35
quelle
2

Schreiben Sie den Code Ihres Add-Buttons in - (void)keyboardDidShow:(NSNotification *)note

statt

%Vor%

Für diese Implementierung UIKeyboardDidShowNotification Benachrichtigung wie:

%Vor%

Ich denke, UIView* keyboard; bekommt die Ansicht der Tastatur nicht, da die Tastatur noch nicht angezeigt wird, sie wird angezeigt !!!

    
Maulik 31.01.2012 13:09
quelle
1

Einige der Tutorials sind unvollständig oder viel älter. Dieses Tutorial funktioniert ab IOS 4.3 und ich habe es überprüft. Speichern Sie die zwei Bildgrafiken und fügen Sie den Code ein. Es gibt sehr wenig zu ändern. Hier ist der Link.

ps. Ich bin in keiner Weise mit diesem Artikel verbunden, fand ihn aber vollständig.

Ссылка

    
James Stoddern 04.05.2012 09:41
quelle
0

Um es kurz zu machen: Machen Sie einen Screenshot, schneiden Sie die gesamte Rücktaste aus, drehen Sie sie horizotally, löschen Sie ihr Rückschrittsymbol in Photoshop und überlagern Sie sie mit dem Text, den wir auf unserer return Taste haben wollen. Wir haben beschlossen, es als DONE zu kennzeichnen.
Jetzt haben wir das Bild für unsere benutzerdefinierte Schaltfläche UIControlStateNormal.
Wiederholen Sie den gesamten Vorgang (mit einer berührten Rücktaste, während Sie den Screenshot machen), um ein zweites Bild für den UIControlStateHighlighted unserer Schaltfläche zu erhalten.

Hier ist das Ergebnis: & lt; fehlendes Bild & gt;

Zurück zum Programmieren:
Zuerst müssen wir wissen, wann der Ziffernblock auf dem Bildschirm nach oben rutschen wird, damit wir unsere benutzerdefinierte Taste anschließen können, bevor dies geschieht.
Zum Glück gibt es eine Benachrichtigung für genau diesen Zweck und die Registrierung ist so einfach wie:

%Vor%

Vergessen Sie nicht, den Beobachter aus der Benachrichtigungszentrale an der entsprechenden Stelle zu entfernen, sobald Sie mit der ganzen Sache fertig sind :

%Vor%

Jetzt kommen wir ins Herz. Alles, was wir in der keyboardWillShow -Methode tun müssen, ist, die Tastaturansicht zu finden und unsere Schaltfläche hinzuzufügen.
Die Tastaturansicht ist Teil eines zweiten UIWindow unserer Anwendung, wie andere bereits herausgefunden haben (siehe diesen Thread).
Also nehmen wir einen Verweis auf dieses Fenster (es wird in den meisten Fällen das zweite Fenster sein, also objectAtIndex:1 in dem unten stehenden Code ist in Ordnung), durchqueren Sie seine Ansichtshierarchie, bis wir die Tastatur finden und fügen Sie die Schaltfläche zu seiner unteren linken:

%Vor%

Voilà, das war's!
Der leere Platz für unsere Schaltfläche beginnt bei der Koordinate (0, 163) und hat die Dimensionen (106, 53).
Die doneButton -Methode muss jetzt natürlich geschrieben werden, aber das ist nicht mehr schwer. Stellen Sie nur sicher, dass Sie resignFirstResponder für das zu bearbeitende Textfeld aufrufen, damit die Tastatur nach unten rutscht.

Wir sind "FERTIG".

    
Abdul Yasin 29.08.2013 12:00
quelle

Tags und Links