2014-09-29 10 views
6

Mamy UITextView z akcesoriami do wprowadzania klawiatury - akcesorium to kolejne UIView z kilkoma przyciskami i innym UITextView, który rośnie w miarę potrzeby, aby wyświetlić wiadomość. (podobne do tego, co widzisz w iMessage)iOS8 - widok akcesoriów klawiatury z dynamiczną wysokością

Wszystko działa dobrze poprzez iOS7, a akcesorium wejściowe rośnie w górę nad klawiaturą, gdy aktualizujemy rozmiar ramki. Jednak w przypadku iOS8 widok akcesoriów rozszerza się w dół, przewyższając przewidywany tekst i klawiaturę.

Czy istnieje nowy sposób odróżnienia widoku klawiatury iOS8 od widoków akcesoriów? Próbowałem wywoływać ReloadInputViews() i wydaje się, że nic nie zmienia.

Utknąłem na tym - dziękuję za pomoc.

Odpowiedz

1

Zastępuję metodę addConstraint w widoku, ponieważ jabłko ustawia wiązanie ze stałą wysokością dla iOS8. Wydaje się, że to rozwiązuje problem.

+0

Nadal nie całkiem to rozgryzłem, ale jest to zdecydowanie właściwy kierunek. Dziękuję za poradę! – Ender2050

+0

To nie działało zbyt dobrze. Czy zablokowałeś dodawanie wszystkich ograniczeń przez addConstraint? Ponieważ to także blokuje twoje własne ograniczenia (od IB). –

+0

To nie działa :(Jeśli zablokujesz dodawanie ograniczenia, zostanie ono dodane do superview. –

0

Ja również mam ten problem. To, co robię, zastępuje metodę layoutSubviews metody inputAccessoryView i sprawia, że ​​wysokość jest liczbą stałą. tak:

- (void)layoutSubviews { 
    if (self.height > 38) { 
     self.height = 38; 
    } 
} 

PS: co jest dziwne, gdy wysokość Twojego inputAccessoryView jest powyżej 50, inputAccessoryView nie rośnie w dół.