SORU
7 AĞUSTOS 2009, Cuma


iPhone Klavye UİTextField Kapsar

İçinde bir uygulamam varInterface BuilderYukarı görünümün alt kısmındaki metin alanı olan UIView Bir kurdum. Ben uygulamayı çalıştırmak ve bu alana metin girmek için klavye benim klavye yine saklayacak kadar ne yazdığımı göremiyorum o yüzden alan overtop slaytlar.

Başkasının bu sorunla ve ya üst görünümü kaydırılan yapma ya daha metin alanı ekranın yukarı hareket ettirmeden çözmek için iyi bir yol buldu?

CEVAP
8 AĞUSTOS 2009, CUMARTESİ


Her zamanki çözüm alan (ve yukarıda her şey) bir animasyon ile yukarı kaydırın ve işiniz bittiğinde tekrar aşağı. Metin alanı ve başka bir görünüm içine diğer öğeleri bazı koymak ve bir birim olarak görüntüle slayt gerekebilir. ("""Tektonik plakaların", ama benim düşüncem bu). gibi plakalar bunları diyorum Ama burada eğer fantezi almak gerek ama genel fikir.

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    [self animateTextField: textField up: YES];
}


- (void)textFieldDidEndEditing:(UITextField *)textField
{
    [self animateTextField: textField up: NO];
}

- (void) animateTextField: (UITextField*) textField up: (BOOL) up
{
    const int movementDistance = 80; // tweak as needed
    const float movementDuration = 0.3f; // tweak as needed

    int movement = (up ? -movementDistance : movementDistance);

    [UIView beginAnimations: @"anim" context: nil];
    [UIView setAnimationBeginsFromCurrentState: YES];
    [UIView setAnimationDuration: movementDuration];
    self.view.frame = CGRectOffset(self.view.frame, 0, movement);
    [UIView commitAnimations];
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Matthew Smith

    Matthew Smit

    24 Mayıs 2010
  • tatermoog

    tatermoog

    2 AĞUSTOS 2006
  • Chaîne de TheMoustic

    Chaîne de T

    5 Kasım 2006