3

グループ化された 2 つのセクションがあり、それぞれに 1 つのセル ビューが含まれています。クリックすると、あるシーンに移動するために 1 つのセルが必要であり、別のシーンに移動するには別のセルが必要です。メイン ビュー コントローラーから他の 2 つのシーンへのセグエを設定しました。次に、正しいセルがクリックされたときにセグエを起動するようにプログラムに指示する必要があります。

これは、各セクションがカスタマイズされているコードのこの領域で発生する必要があると思います。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
{
    UITableViewCell *serverLocCell = [tableView dequeueReusableCellWithIdentifier:@"serverLocation"];

    switch (indexPath.section) {
        case 0:
            serverLocCell.textLabel.text = testLocation;
            serverLocCell.detailTextLabel.text = @"Change";
            break;
        case 1:
            serverLocCell.textLabel.text = @"Speed Test";
            serverLocCell.detailTextLabel.text = @"Change";
            break;
        default:
            break;
    }

    return serverLocCell;
}

この機能も必要だと思います:

self preformSegueWithIdentifier

ただし、正しいコード/配置を完全に突き止めることはできません。

どちらのセグエにも独自の識別子があります。

4

1 に答える 1

0

performSegueWithIdentifier が必要だと考えるのは正しいです。プログラムでセグエをトリガーするには、このメソッドが必要です。これは、あなたの場合に必要です。

タップされたセルに基づく正しい識別子で performSegueWithIdentifier を呼び出すには、テーブル ビュー デリゲート didSelectRowAtIndexPath が必要です。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.section == 0) {
        [self performSegueWithIdentifier:@"YourFirstIdentifier" sender:nil];
    }
    else {
        [self performSegueWithIdentifier:@"YourSecondIdentifier" sender:nil];
    }
}
于 2013-05-30T14:24:53.830 に答える