So blenden Sie inputAccessoryView ohne Entlassungen Tastatur

Bin ich über eine Symbolleiste in der inputAccessoryView Eigenschaft einer textView. Wenn die Tastatur zeigt, es zeigt die Symbolleiste als erwartet. Wenn das Gerät gedreht wird möchte ich die Symbolleiste entfernen. Ich habe versucht:

 myTextView.inputAccessoryView.hidden = !layoutIsPortrait;

Bedeutet dies die Symbolleiste auszublenden, lässt aber die Gliederung der größeren Tastatur hinter sich. Die Tastatur ist anscheinend immer noch Größe anpassen der Symbolleiste. Es sieht schlecht aus und stört mit touch-Ereignissen zugrunde liegende ansprechen.

 myTextView.inputAccessoryView = nil;

Funktioniert nur, wenn ich resignFirstResponder, dann becomeFirstResponder wieder. Das ist nicht akzeptabel. Ich verliere die cursor-Platzierung und dem Inhalt der textView, Tastatur blinkt hin und wieder.

[myTextView.inputAccessoryView removefromSuperview];

Überhaupt nichts macht.
Ich rettete einen Verweis auf die Symbolleiste in einem iVar und angesprochen, statt,

[myIvarReference removeFromSuperview];

Funktioniert, aber wieder die größeren Umrisse der Tastatur ist schwach sichtbar. Dieses mal ist es nicht stören mit einem Hauch von anderen Ansichten. Also das ist jetzt eine funktionierende Lösung, aber optisch nicht akzeptabel.
Was kann ich sonst noch versuchen, um zu zeigen und verstecken sich die inputAccessoryView?

Screenshot - die dünne Linie über der Tastatur ist ein überbleibsel von der Symbolleiste entfernt

So blenden Sie inputAccessoryView ohne Entlassungen Tastatur

Would you mind posting einen Screenshot, was du meinst mit "den Umriss der größeren Tastatur"? Ich fühle mich wie die Lösungen, die Sie erwähnt haben sollte arbeiten (einer von Ihnen zumindest), aber ich bin mir nicht sicher, was ästhetisch akzeptabel...
Ich habe eine nahaufnahme der screenshot
Ich kann das nicht testen Sie es jetzt aber tut myTextView.inputAccessoryView.frame = CGRectZero tun, was du suchst?
Ich kann nicht versuchen, es im moment auch. Ich erwarte, dass wäre das gleiche Ergebnis, wie removeFromSuperView. Meine Vermutung ist, dass es die Ansicht, dass darunter die Tastatur und die Symbolleiste zusammen, muss die Größe angepasst. Ich weiß nicht, wie ich veranlassen würde, dass das geschehen, ohne sich in einige der privaten api-Gebiet.

InformationsquelleAutor Dean Davids | 2012-09-24

Schreibe einen Kommentar