私はポップオーバーに含まれるいくつかのフォームを持つアプリケーションで作業しています。私の問題は、任意のテキスト入力フィールドをクリックし、キーボードが表示されると、ポップオーバーが画面(0,0)の左上隅に縮小され、入力するフィールドが表示されないことです。キーボードの非表示ボタンをクリックすると、ポップオーバーは通常のサイズと位置に戻ります。キーボードがiPadに表示されるときにポップオーバーが左上隅に縮む
キーボードが表示されたときにポップオーバーのサイズ変更を防ぐ方法はありますか?
私の説明が不十分な場合のスクリーンショットです。
編集:ここではポップオーバーを画面上に提示される方法のためのコードは次のとおりです。
(void)displayPopoverForOrientation:(UIInterfaceOrientation)orientation {
if ([Utilities getAppDelegate].menuPopover) {
CGRect rect = CGRectMake(0, 0, 0, 0);
if (orientation == UIInterfaceOrientationLandscapeLeft ||
orientation == UIInterfaceOrientationLandscapeRight) {
if (self.currentPopover == RESERVATIONS_POPOVER) {
rect = CGRectMake(365, 0, 0, 0);
} else if (self.currentPopover == ACCOUNT_POPOVER) {
rect = CGRectMake(600, 0, 0, 0);
} else if (self.currentPopover == RESORTS_POPOVER) {
rect = CGRectMake(0, 0, 0, 0);
}
}
[[Utilities getAppDelegate].menuPopover presentPopoverFromRect:rect
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionUp
animated:YES];
}
}
ポップオーバーインサイドXIBでレイアウトの設定で別のビューコントローラです。 質問があればお気軽に、iOSとObjective Cについてはかなり新しいですが、私は明確にするために最善を尽くすようにコーディングするのは新しいことではありません。
編集2: これはiOS 5でのみ発生することが判明しました。古いバージョンのiOSでは、キーボードのための十分なスペースがあるまで、ポップオーバーが垂直方向に崩壊するだけです。 iOS 5でこの動作が変更された理由についてのアイデアはありますか?
コードが役に立ちます。あなたは画面上でポップオーバーをどのように提示していますか? –
私はrectのいくつかの変換があるはずだと思います。あなたのビューは横向きの方向に変換されるからです。必要なメモリからコードを取得することはできません。 –
' - (CGRect)convertRect(CGRect *)rect fromWindow:(UIWindow)window'あなたはポップオーバーを提示する前にこのメソッドのようなものが必要です。おもう。 –