2011-12-16 4 views
2

Я довольно nooby, просто говорю, что прежде, чем я начну.Как получить идентификатор segue

То, что я пытаюсь сделать, это сделать таблицу ячеек, и когда к ней прикоснется, она отображает изображение в зависимости от того, какая ячейка была затронута. Теперь я подумал, что будет способ узнать, какая ячейка была затронута, и соответствующим образом установить изображение UIImageView, или у меня будет столько просмотров, сколько ячеек таблицы, и у вас будет много переходов? В основном то, что я пытаюсь сделать, это получить идентификатор segue и использовать его для установки образа UIImageView.

ответ

1

UIStoryboardSegue предназначен для облегчения перехода между двумя экземплярами UIViewController. То, что вы пытаетесь сделать, не требует каких-либо изменений. Вы хотите переключить просмотр изображения на ячейку, когда она прослушивается. Вам нужно всего лишь реализовать метод -tableView:didSelectRowAtIndexPath: на UITableViewDelegate.

Редактировать Я предполагаю, что у вас уже есть ivar для вашего UIImageView под названием imageView. Вам также понадобится ivar для NSArray, который содержит все изображения. Изображение каждого индекса будет соответствовать каждой строке в таблице. Установите свой массив где-нибудь, как -viewDidLoad, и предположите, что он называется imageArray.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // Get the cell at the selected index path 
    UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath]; 

    // After being tapped, set the image view to some image 
    self.imageView.image = [self.imageArray objectAtIndex:indexPath.row]; 
} 
+0

К сожалению, я не был понятнее; У меня есть UIImageView, который отделен от моего табличного представления, я хочу, чтобы все ячейки подключались к ImageView и изменяли, какое изображение отображается в ImageView, в зависимости от затронутой ячейки. Например, ячейка под названием «cat» будет отображать кошку в ImageView, а не в ячейке. –

+0

Извините, я неправильно понял, я обновил свой ответ. –

6

Вы можете получить идентификатор SEGUE с этим методом, который называется, если переход выталкивается:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    if ([segue.identifier isEqualToString:@"YourChoiseMadeInStoryboard"]) { 
    ... 
    //to access the destination ViewController do this 
    AViewControllerClass *viewController = segue.destinationViewController; 
    } 
} 
Смежные вопросы