Tło:Jak zmienić współrzędne popover w locie
muszę wyświetlać popover z ImageView (nie Rect barbutton), który ma popover wyszukiwania field.The musi być przedstawiony z punktu A UIModalPresentationFormSheet.This powodzeniem osiągnąć
problem:
problem jestem stoi (w trybie Landscape) jest wtedy, gdy klawiatura jest pokazany modalne przesunięcia formularzem się a wraz z nim moja rama dla popover. Stąd popover pozostaje w jego pierwotnej pozycji (przed pokazaniem klawiatury), a przedstawiony prostokąt jest przesunięty w górę. Zastosowane rozwiązanie to reprezentacja (using presentPopoverFromRect)
popover w -(void)didShowKeyBoard:(NSNotification*) notif
ze zmienionego recta i zrób to samo w -(void)didhideKeyBoard:(NSNotification*) notif
. To działa dobrze, ale przejście jest bardzo szybkie i sprężyste. Jak zatem uzyskać płynne przejście?
Co Próbowałem
Próbowałem:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:5.0f];
[_statePopover presentPopoverFromRect:stateHandler.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:NO];
[UIView commitAnimations];
ale to nie działa.
Czy ktoś może skierować mnie do właściwego sposobu na zrobienie tego?
Każda pomoc jest bardzo ceniona.
Czy próbowałeś zmienić współrzędne popover zgodnie z orientacją? – Radu
@Radu W portretie nie napotykam powyższego problemu. W pejzażu, jak stwierdziłem w moim pytaniu, przedstawiam je ponownie z rect, która już zmieniła swoją pozycję. Popover następnie poprawnie przyjmuje nową pozycję przesuniętego prostokąta. Problem, przed którym stoję, jest w trakcie przejścia. Nie jest gładki. –
Miałem tego rodzaju problem w innych miejscach Spróbuję umieścić cały kod przejścia w animacji UIView - użyłem tej sztuczki dla jakiejś klawiatury i animacji Tabeli może to zadziała dla ciebie – Radu