2010-07-23 3 views
9

Der ResignFirstResponder für ein UITextField auf dem Iphone smms funktioniert nicht für das Ipad. Wie kann ich meine Tastatur programmgesteuert verwerfen?Tastatur auf IPAD schließen

Danke,

+0

Beliebiger Code? _____ – kennytm

Antwort

7

UPDATE Diese Antwort ist nicht mehr genau. Siehe die correct answer.

Wenn sich Ihr UITextField in einer modalen Seitenblattansicht (UIModalPresentationFormSheet) befindet, gibt es (derzeit) keine Möglichkeit, das Gerät dazu zu zwingen, die Tastatur this devforums post von einem Apple-Techniker zu schließen.

14

Now we can

- (BOOL)disablesAutomaticKeyboardDismissal { 
    return NO; 
} 
+1

Dies scheint in iOS 6 keine effektive Lösung mehr zu sein - jemand, der das gleiche sieht? – Snips

+0

Es ist nicht effektiv für mich in iOS 6.0.x – OscarTheGrouch

+0

verbürgt für ... nicht effektiv in iOS 6 – theiOSDude

25

In iOS 4.3 hat Apple das oben genannte Verfahren, disablesAutomaticKeyboardDismissal. Es gibt YES für UIModalPresentationFormSheet zurück, wodurch das Abweisen der Tastatur verhindert wird.

Überschreiben dieser Methode funktioniert, aber Wenn Sie Ihren View-Controller in einem UINavigationController präsentieren, müssen Sie UINavigationController von der Klasse ableiten und die Methode dort überschreiben.

Ich habe bestätigt, dass dies tatsächlich auf iOS 6 funktioniert. Achten Sie nur darauf, die UINavigationController-Klausel zu beachten.

+0

Guter Job, froh :) – ader

+1

Auch für iOS 7.0 verifiziert. –

+0

Dumme Frage - Wie geht das, wenn sich Ihr UINavigationController in einem Storyboard in XCode 5 befindet? Ich sehe keinen Code, der geändert werden kann, um eine überschriebene Kopie dieser Klasse zu verwenden ..? –