2014-11-29 10 views
5

Posiadam piękny, waniliowy pasek narzędzi inputAccessoryView dla niektórych pól UITextView. Przyciski Poprzedni, Następny i Gotowe. I umieścić je w klasie UIViewController, a ja im przypisane do UITextFields jak ten:UITextView inputAccessoryView nakłada się na klawiaturę w systemie iOS 8

self.outPlayerOneTextField.inputAccessoryView = myAccessoryVc.view; 

To działało świetnie w iOS 7. Z iOS 8, to teraz zachodzi na górnej części klawiatury, tak jak poniżej:

accessory toolbar overlapping top of keyboard in ios8

Jakieś wskazówki na temat tego, co się zmieniło? A może zawijanie go w kontroler widoku nie było dobrą rzeczą do zrobienia?

Odpowiedz

0

Zdarzyło mi się to samo. Ramka nie była ustawiana automatycznie przez ograniczenia dla mnie. Aby to naprawić, ustawić ramkę ręcznie przed ustawieniem inputAccessoryView tak:

CGSize rect=[view systemLayoutSizeFittingSize:CGSizeMake(0, 0)]; 
view.frame=CGRectMake(0, 0, rect.width, rect.height); 

lub jeśli używasz Objective C++ można uprościć to tak:

view.frame={{0,0},[view systemLayoutSizeFittingSize:{0,0}]};