Mostrar um UIPopoverController a partir de um botão de divulgação de detalhes em um UITableViewCell
Estou criando um aplicativo para o iPad e quero mostrar umaUIPopoverController
com uma seta apontando para o botão de divulgação de detalhes da linha à qual pertence. Eu quero fazer isso notableView:accessoryButtonTappedForRowWithIndexPath:
método. Atualmente eu tenho isso, com um bonecoCGRect
:
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {
// Dismiss in the case it shows itself somewhere else
[addFeedPopup dismissPopoverAnimated:YES];
// Set up
TNSubscribeToFeedController *subscribeToFeedController = [[TNSubscribeToFeedController alloc] initWithNibName:@"SubscribeToFeed" bundle:nil];
UINavigationController *subscribeToFeedNavigationController = [[UINavigationController alloc] initWithRootViewController:subscribeToFeedController];
subscribeToFeedController.title = @"Subscribe to feed";
subscribeToFeedController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:nil];
subscribeToFeedController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:nil];
/*
* Note that we use the UINavigationController pure for the nices UINavigationBar.
*/
// Show in popup
addFeedPopup = [[UIPopoverController alloc] initWithContentViewController:subscribeToFeedNavigationController];
addFeedPopup.popoverContentSize = CGSizeMake(480, 320);
[addFeedPopup presentPopoverFromRect:CGRectMake(0, 0, 20, 20) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
// Memory
[subscribeToFeedNavigationController release];
[subscribeToFeedController release];
}
Além disso, quando oUITableView
está no modo de edição, o botão de divulgação de detalhes fica a cerca de 60 pixels à esquerda, pois eu uso isso para configurar minhas linhas:
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"SectionTwoCell"] autorelease];
}
cell.textLabel.text = [NSString stringWithFormat:@"Feed %d", indexPath.row];
cell.detailTextLabel.text = @"Description";
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
cell.editingAccessoryType = cell.accessoryType;
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
// TWO LINES BACK DEAR SO USER //
Alguém pode me ajudar com esse problema? Obrigado.
Ah, e também é possível desativar a rolagem e desativar a seleção de qualquer coisa até que oUIPopoverController
está fechado (perfeccionismo)?