1

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];
  }
}
4

0 に答える 0