SORU
11 Mayıs 2010, Salı


UİKeyboardBoundsUserİnfoKey yerine kullanmak ne?kaldırılmış.

Bir iPad app 3.2 sdk kullanarak üzerinde çalışıyorum. Klavye arkasında ise gizleniyor benim TextField öğeleri önlemek için boyutu elde etme ile uğraşıyorum.

Böyle büyük mükafat olarak bir Uyarı - ^ alıyorum . UİKeyboardBoundsUserİnfoKey kaldırılmış ben onun yerine bu uyarı almak için ne gerekir?

CEVAP
11 Mayıs 2010, Salı


UIKeyboardBoundsUserInfoKey documentation

Bir NSValue için anahtar penceresinde klavyenin dikdörtgen koordinatları, sınırları tanımlayan bir CGRect içeren nesne. Bu değer, klavye boyutunu elde etmek için yeterlidir. Eğer ekrandaki klavye (veya animasyon öncesi ve sonrası) kökeni kullanmak istiyorsanız değerleri UİKeyboardCenterBeginUserİnfoKey ile sözlük bilgi kullanıcı veya UİKeyboardCenterEndUserİnfoKey sabitleri elde edilir.Bu UİKeyboardFrameBeginUserİnfoKey kullanmak ya da anahtar yerine UİKeyboardFrameEndUserİnfoKey.

Apple bir kolaylık bu Kategori UIScreen ek olarak uygulayabileceği gibi: rutin uygulama önerir

  (CGRect) convertRect:(CGRect)rect toView:(UIView *)view {
    UIWindow *window = [view isKindOfClass:[UIWindow class]] ? (UIWindow *) view : [view window];
    return [view convertRect:[window convertRect:rect fromWindow:nil] fromView:nil];
}

kurtarmak için pencere-ayarlanabilir klavye çerçeve boyutu özellikleri.

Cihazın yönünü kontrol içeren farklı bir yaklaşım aldı:

CGRect _keyboardEndFrame;
[[notification.userInfo valueForKey:UIKeyboardFrameEndUserInfoKey] getValue:&_keyboardEndFrame];
CGFloat _keyboardHeight = ([[UIDevice currentDevice] orientation] == UIDeviceOrientationPortrait || [[UIDevice currentDevice] orientation] == UIDeviceOrientationPortraitUpsideDown) ? _keyboardEndFrame.size.height : _keyboardEndFrame.size.width;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BMG Rentals Property Management

    BMG Rentals

    23 Mayıs 2011
  • LAHWF

    LAHWF

    5 Kasım 2009
  • Pál Zoltán Illés

    Pál Zoltán

    30 NİSAN 2007