Comment appeler la Liste Contrôleur de UITableViewCell.accessoryView?

D'abord je tiens à dire que je suis vraiment nouveau dans l'ipad/ipod/iphone de développement, et à objective-c trop.

Avec cela étant dit, je suis en train de développer une petite application de ciblage de l'iPad, à l'aide de Xcode et IB, en gros, j'ai un tableau, pour chaque UITableViewCell dans le tableau, j'ai ajouté à la accessoryView un bouton qui contient une image.

Voici le code:

UIImage *img = [UIImage imageNamed:@"myimage.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
CGRect frame = CGRectMake(0.0, 0.0, img.size.width, img.size.height);
button.frame = frame;   //match the button's size with the image size

[button setBackgroundImage:img forState:UIControlStateNormal];

//set the button's target to this table view controller so we can interpret touch events and map that to a NSIndexSet
[button addTarget:self action:@selector(checkButtonTapped:event:) forControlEvents:UIControlEventTouchUpInside];
button.backgroundColor = [UIColor clearColor];
cell.accessoryView = button;

Donc bon, maintenant, le problème est que je veux une Liste de contrôle d'apparaître lorsqu'un utilisateur appuie sur le bouton de la accessoryView d'une cellule.

J'ai essayé cela sur la "accessoryButtonTappedForRowWithIndexpath" de la tableView:

UITableViewCell *cell = [myTable cellForRowAtIndexPath:indexPath];
UIButton *button = (UIButton *)cell.accessoryView;

//customViewController is the controller of the view that I want to be displayed by the PopOver controller
customViewController = [[CustomViewController alloc]init];

popOverController = [[UIPopoverController alloc]
initWithContentViewController: customViewController];

popOverController.popoverContentSize = CGSizeMake(147, 122);

CGRect rect = button.frame;

[popOverController presentPopoverFromRect:rect inView:cell.accessoryView
permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

Le problème avec ce code c'est qu'il montre la Liste en haut de l'Affichage de l'application, lors du débogage, j'ai vu les valeurs de "rect" et ils sont:

x = 267
y = 13

donc je pense que c'est assez évident pourquoi la Liste s'affiche alors sur le point de vue, donc ma question est, comment puis-je obtenir les valeurs correctes pour la Liste qui apparaîtra juste en dessous du bouton sur le accessoryView de la cellule?

Aussi, comme vous pouvez le voir, je vais la raconter à utiliser la "cellule.accessoryView" pour le "inView:" attribut, c'est ok?

OriginalL'auteur Vic | 2010-05-12