2010-11-28 6 views
0

Je dois présenter un UIPopover à partir de UITextField générés dynamiquement dans un UITableView. Ils sont tous marqués unique mais quand j'essaie d'utiliser ce code, le popover juste apparaissent dans le coin supérieur gauche:Obtenir le cadre de UITextField dans UITableView pour afficher UIPopover

[self.numbersPopover presentPopoverFromRect:[self.childSkusTable viewWithTag:aTag].frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES]; 

EDIT:
Je vois je trouve le cadre de cet élément étiquetée mais il est relavant à sa cellule parente, dans ce cas le cadre de ces items marqués est 0,0 pour les x, y. Comment puis-je obtenir sa position dans la fenêtre principale?

Répondre

2

En répondant à cette question, quelqu'un d'autre en a besoin.

Vous devez vous obtenir la position UITextFields dans le UIWindow comme ceci:

UIView *v = [self.view viewWithTag:aTag]; 
CGPoint pos = [v.superview convertPoint:v.frame.origin toView:nil]; 

Alors je viens de faire ceci:

[self.numbersPopover presentPopoverFromRect:CGRectMake(pos.x, pos.y, 35, 10) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES]; 

Le formulaire de code de recherche de positionnement est venu au-dessus de cette question et réponse: iPhone - Get Position of UIView within entire UIWindow

Questions connexes