2014-09-18 15 views
5

Ben klavye boyutu sadece örneğin sistem klavyesi ile çalışır elde etmek için iOS 8.iOS 8'de üçüncü taraf klavye boyutu nasıl edinilir?</p> <pre><code>- (void)keyboardWillShow:(NSNotification *)notification { CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; } </code></pre> <p>:

orijinal yöntemi (Objective-C) ile benim telefon 5s Swift Klavye yükledim Swift Klavye kullanırsam ... keyboardSize.height sıfırdır. iOS 8'de üçüncü taraf klavye boyutu nasıl edinilir?

Teşekkürler.

+0

Bunun için doğru çözümü buldunuz mu? Aşağıdaki cevap benim durumumla çalışmıyor. KB rect'i almak için zaten UIKeyboardFrameEndUserInfoKey kullanıyorum. – Hemang

cevap

8

Bunun nedeni, klavyenin gerçekten gösterilmesinden önce boyutu almanızdır.

değiştirilmesi Dene: With

objectForKey:UIKeyboardFrameBeginUserInfoKey 

:

objectForKey:UIKeyboardFrameEndUserInfoKey 

Bu SwiftKey ile benim için çalışıyor!

+3

Bu kendi araştırmamla eşleşiyor. Ayrıca SwiftKey, son yüksekliği 0'a, daha sonra klavyenin yüksekliğine, ardından klavyenin + otomatik tamamlama alanının yüksekliğine kadar şovda 3 olay gönderdiğimi fark ettim. Benim kod farklı yüksekliklere sahip bir satırda 3 UIKeyboardWillShowNotification olay beklemiyordu, bu yüzden bazı ayarlamalar gerekiyordu. – w0mbat

+1

Bu benim için çalışmıyor, ben zaten KB's rect almak için 'UIKeyboardFrameEndUserInfoKey' kullanıyorum. Başka bir yol var mı? – Hemang

İlgili konular