if your textField is inside the table cell, your popover will point to the top of the screen, because the frame frame of the textField refers to the view containing the text field. Therefore, you need to give it the correct link to view. You need to use textField.superview as a reference to your view.
- (BOOL)textFieldShouldBeginEditing:(UITextField *) textField { ... [self.myPopover presentPopoverFromRect:textField.frame inView:textField.superview permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; return NO; }
source share