2017-06-22 4 views
1

Ich habe eine UITextField, und wenn die Tastatur angezeigt wird, ist oben auf ihr eine Leiste mit einer "done" Schaltfläche.IOS, wie die obere Leiste (mit der Schaltfläche "done") auf der Oberseite der Tastatur zu verbergen?

enter image description here

Dies geschieht Knopf ist völlig nutzlos, es ist zunächst auf die Schaltfläche Fertig bereits in der Tastatur duplizieren und es keine Sekunde abfeuern das Ereignis ShouldReturn schwer zu stoppen damit jede Handlung zu machen.

ich sehe diese Taste auch auf meinem iPhone 5 + ios 9, aber ich sehe es nicht auf meinem ipad pro + ios 10

ich delphi verwende, ich weiß nicht, ob es auf der Materie (andere app ist mein iphone 5 nicht mit Delphi gemacht haben nicht diese "fertig" bar so vielleicht ja)

+0

Sie sollten die Zubehöransicht von der Tastatur entfernen. oder versuchen Sie es mit yourTextField.inputAccessoryView = nil; –

+0

danke @RajJoshi. Ich versuche, TextField.inputAccessoryView = nil; direkt nach dem Erstellen der TextField, aber es hat nicht geholfen :( – loki

+0

Mögliche Duplikat von [Wie verstecken Sie die Formular-Assistentleiste an der Spitze der Tastatur?] (https://StackOverflow.com/questions/39795354/How-to- verstecken-the-form-assistant-bar-am-oberen-der-tastatur) –

Antwort

1

OK, ich fand das Problem. ich war misstrauisch als ich sah, dass sich die beschriftung des buttons (done) am französischen iphone nicht ändert. Apple wird nicht so einen schrecklichen Fehler machen, aber es ist typisch, was das emb-Team tun kann :(Und ja, dieser Balken wird von Delphi gemacht! Frag mich nicht, warum sie so schrecklich denken, aber sie haben ... und es wurde in der ipad nicht zeigt, weil:

procedure TCocoaVirtualKeyboardService.ApplicationEventHandler(const Sender: TObject; const M: TMessage); 
begin 
    if (M is TApplicationEventMessage) and ((M as TApplicationEventMessage).Value.Event = TApplicationEvent.FinishedLaunching) then 
    begin 
    FToolbarEnabled := not IsPad; 
    FHideButtonVisible := FToolbarEnabled; 
    end; 
end; 

wirklich große nawak :(

so können Sie die Symbolleiste deaktivieren, indem Sie:

if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardToolbarService, aVirtualKeyboardToolbarService) then aVirtualKeyboardToolbarService.SetToolbarEnabled(False); 

Idiot völlig diese nutzlose und hässlich Symbolleiste zu machen standardmäßig aktiviert :(

Verwandte Themen