2011-12-16 9 views
2

私はかなりノービーです。セグの識別子を取得する方法

私がしようとしているのは、セルのテーブルを作ることです。セルに触れると、タッチされたセルに応じてイメージが表示されます。今、どのセルに触れているかを知り、それに応じてUIImageViewイメージを設定する方法があると思っていましたか、またはテーブルセルと同じくらい多くのビューを持ち、セグがたくさんありますか?基本的に私がしようとしているのは、セグの識別子を取得し、それを使ってUIImageViewイメージを設定することです。

答えて

1

UIStoryboardSegueは、UIViewControllerという2つのインスタンスの間の移行を容易にするように設計されています。あなたがしようとしていることは、セグを全く必要としません。タップされているときに、セル上の画像ビューを切り替える場合。 UITableViewDelegate-tableView:didSelectRowAtIndexPath:メソッドを実装するだけです。

編集私はあなたがすでにimageViewと呼ばれるあなたのUIImageViewためIVARを持っていると仮定しています。すべての画像を保持するNSArrayの場合は、ivarが必要です。各インデックスのイメージは、表の各行に対応します。 -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

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    if ([segue.identifier isEqualToString:@"YourChoiseMadeInStoryboard"]) { 
    ... 
    //to access the destination ViewController do this 
    AViewControllerClass *viewController = segue.destinationViewController; 
    } 
} 
関連する問題