背景:
検索フィールドを持つイメージビュー (バーボタンではなく四角形) からポップオーバーを表示する必要があります。ポップオーバーは UIModalPresentationFormSheet から提示する必要があります。
問題:
私が直面している問題 (ランドスケープ モード) は、キーボードが表示されているときに、モーダル フォーム シートが上に移動し、それに伴ってポップオーバーのフレームが移動することです。したがって、ポップオーバーは元の位置 (キーボードが表示される前) にとどまり、 rect が上にシフトされます。私が適用した解決策は、変更された四角形から(using presentPopoverFromRect)
のポップオーバーを表し、-(void)didShowKeyBoard:(NSNotification*) notif
で同じことを行うことです。これは正常に-(void)didhideKeyBoard:(NSNotification*) notif
機能しますが、遷移は非常に高速で弾力があります。では、これをスムーズに移行するにはどうすればよいでしょうか。
私が試したこと
私は試した :
[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];
しかし、うまくいきませんでした。
誰かがこれを行う正しい方法を教えてもらえますか?
どんな助けでも大歓迎です。