3

ここでこのトピックを見たことがありますが、クリックしたり機能したりするソリューションはありませんでした。私はUITableViewControllerを持っています(それをmyUITableViewControllerと呼びます)。要件は、ユーザーが myUITableViewController から最初の 3 つの行の 1 つを選択すると、それらがtheFirstViewControllerに移動するようになっていますが、 3 つを超える行を選択した場合はそれらが移動されます。 theSecondViewControllerに。単一のテーブルビュー セルから複数のセグエを許可していないように見えるストーリーボードを使用しています。ただし、 myUITableViewControllerから複数のセグエを直接追加できますが、適切なセグエ コードに苦労しており、適切な解決策が見つかりません。

4

1 に答える 1

4

最良の方法は、IBから直接セグエを使用するのではなくtableview:didSelectRowAtIndexPath:、テーブル内の行を選択するたびに、コードからセグエを使用して手動で呼び出すことです。

テーブルビュー自体から宛先までのセグエを設定する必要があります。テーブル内の特定の要素ではありません。

このようなもの:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {  
    NSString *identifierOfSegueToCall;
    if (indexPath.row < 3) {
        identifierOfSegueToCall = @"theFirstViewControllerSegueIdentifier";
    } else {
        identifierOfSegueToCall = @"theSecondViewControllerSegueIdentifier";
    }

    [self performSegueWithIdentifier:identifierOfSegueToCall sender:self];
}
于 2012-05-01T22:40:04.453 に答える