0

项目的第一个场景是动态单元格视图,如下图。我已经给了它一个标识符,所以我可以在代码中引用它。

动态细胞

我从按预期显示的代码中创建了第二个分组部分。当用户点击第一个单元格时,它会移动到一个特定的场景,但是第二个单元格也会进入相同的场景。

如何给第二个单元格一个单独的标识符,然后我可以创建一个到不同场景的 segue?第二个单元格没有出现在情节提要中,所以我不能那样给它一个。

我目前对这个场景的代码如下:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize testLocation;

- (void)viewDidLoad
{

    testLocation = @"Washington, Dulles";
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}


#pragma mark - Table View Methods

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;              // Default is 1 if not implemented
{
    return 2;
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section;    // fixed font style. use custom view (UILabel) if you want something different

{
    if (section == 0) {
        return @"Choose Test Location:";
    }
    else {
        return @"Choose Test Type:";
    }
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;

{
    if (section == 0) {
        return 1;
    }
    else {
        return 1;
    }
}

- (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;

}

@end
4

1 回答 1

1

在情节提要编辑器中,创建您要使用的两个转场——但让它们从一个控制器转场到下一个,而不是从表格视图转场。在控制器级别执行此操作。为每个 segue 指定一个特定且不同的名称。

实施didSelectRowAtIndexPath以便您知道用户何时选择表格中的单元格。根据索引路径中的部分(或行),以编程方式触发 segue。

于 2013-01-16T21:36:09.827 回答