テキストフィールドの編集が開始されるたびに表示される(電卓の)ポップアップビューがあります。displayメソッドが呼び出されるコードとdisplayメソッド自体は以下に掲載されています。
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
//the background color may have been yellow if someone tried to submit the form with a blank field
textField.backgroundColor = [UIColor whiteColor];
sender = @"text field";
[self displayCalculator:textField.frame];
return YES;
}
ビューを表示する方法は次のとおりです。
-(IBAction)displayCalculator:(CGRect)rect{
calculator = [[CalculatorViewController alloc] initWithNibName:@"CalculatorViewController" bundle:nil];
popoverController = [[[UIPopoverController alloc] initWithContentViewController:calculator] retain];
[popoverController setPopoverContentSize:CGSizeMake(273.0f, 100.0f)];
[popoverController presentPopoverFromRect:rect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
私の質問は次のとおりです。
1)ポップオーバーをそのままにしておくにはどうすればよいですか?ユーザーがテキストフィールド(最初にポップアップを表示したテキストフィールド)をクリックできるようにしたいのですが、クリックするとポップアップが消えます。
2)ポップアップがテキストフィールドをブロックするように表示されることがありますが、ポップアップが表示される場所を制御できる方法はありますか?現在、テキストフィールドのフレームを渡していますが、機能していないようです。