как ячейка табличного представления реагирует на событие касания? (IPhone) - PullRequest
1 голос
/ 08 августа 2011

У меня есть UITableView, который содержит около 100 ячеек, каждая ячейка содержит некоторый текстовый контент, или содержит изображение, или оба. когда нажимает на картинку, я хочу позвонить presentModalViewController, чтобы показать большую картинку с удаленного сервера.

Как мне реализовать эту функцию? Любое предложение?

Ответы [ 3 ]

1 голос
/ 08 августа 2011

Просто реализуйте метод [UITableView tableView:didSelectRowAtIndexPath:] и представьте свой viewController.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  /*
   * get your object (myImagePath) here using:
   *  section: indexPath.section
   *  row: indexPath.row
   */


   MyViewController *viewController = [[MyViewController alloc] init];
   [viewController setImageWithPath:myImagePath]; // I suppose that your viewController has a method to set the image.

   [self presentModalViewController:viewController animated:YES];

   [viewController release];      
}
1 голос
/ 08 августа 2011

Если вы хотите, чтобы действие происходило только при нажатии на изображение (и ни на один из других элементов в строке), вы должны использовать UIButton для отображения изображения и использовать обычную обработку событий касания UIButton для выполнения задачи.

Если вас устраивает действие, которое происходит, когда что-либо в строке касается, вы должны проверить метод tableView: didSelectRowAtIndexPath: UITableViewDelegate.

0 голосов
/ 08 августа 2011
 -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath   
 {   
  YourController *objController = [[YourController alloc]         initWithNibName:@"YourController" bundle:nil];      
NSString *arrayElement = [yourArray objectAtIndex:indexPath.row];  
[self.navigationController pushViewController:objController animated:YES];  
[objController release];  

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...