UITextField が UIPopover ビューからテキストを取得する方法を学びたいと思います。ポップオーバーに数字の付いたボタンがあり、これらの数字をテキストフィールドに入力したいとしましょう。
一部の人々は、次のように BOOL を提案しました。
- (BOOL)textFieldShouldBeginEditing:(UITextField *) textField {
[self.myPopover presentPopoverFromRect:textField.frame
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
return NO;
}
そしてもう1つ:
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView {
if(popoverController == nil){ //make sure popover isn't displayed more than once in the view
popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverDetailContent];
}
[popoverController presentPopoverFromRect:textView.frame
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
popoverController.delegate = self;
return NO; // tells the textfield not to start its own editing process (ie show the keyboard)
}
どちらも大きな変更はありません。私の textField は、ポップオーバーの代わりにデフォルトの iPad キーボードを呼び出します。2 番目の例ではデリゲート popoverController を使用し、私のコントローラーはflipsidePopoverController
です。
このような IBAction を使用できますか?
- (IBAction)togglePopover:(id)sender {
if (self.flipsidePopoverController) {
[self.flipsidePopoverController dismissPopoverAnimated:YES];
self.flipsidePopoverController = nil;
} else {
[self performSegueWithIdentifier:@"showAlternate" sender:sender];
}
}