1

我正在努力创建一个表格分组视图,并且我完成了(令人惊讶的)。我希望能够连接表格中的任何给定单元格并将其连接到另一个独特的视图。我完全不知道如何做到这一点:/。这是我的代码:

表视图控制器.m

#import "TableViewController.h"

@interface TableViewController ()

@end

@implementation TableViewController



- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    TableSectionArray = [NSArray arrayWithObjects:@"One", @"Two", @"Three", nil];
    return [TableSectionArray count];
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    NSString *SectionHeader = nil;

    if (section == 0) {
        SectionHeader = @"Section1";
    }
    if (section == 1) {
        SectionHeader = @"Section2";
    }
    if (section == 2) {
        SectionHeader = @"Section3";
    }
    return SectionHeader;


}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (section == 0) {
        TableContentArray = [NSArray arrayWithObjects:@"Name1", @"Name2", nil];
    }
    if (section == 1) {
        TableContentArray = [NSArray arrayWithObjects:@"Name1", @"Name2", nil];
    }
    if (section == 2) {
        TableContentArray = [NSArray arrayWithObjects:@"Name1", @"Name2", nil];
    }
    return [TableContentArray count];


}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    if(cell == nil)
    {
        cell = [UITableViewCell alloc];
    }
    cell.textLabel.text = [TableContentArray objectAtIndex:indexPath.row];
    return cell;
}



#pragma mark - Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

}

@end
4

1 回答 1

0

这将根据您到达当前视图的方式而有所不同。基本上你需要整体抓取viewController的当前实例,然后抓取tableView的实例。

如果您继续使用您当前所在的视图,您将执行以下操作:

UIPreviousViewController *controller = [self presentingViewController];

UITableViewCell *cell = [controller.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];

- 将行和节号替换为您尝试抓取的任何一个。使用此方法,单元格将只能是只读的。

- 根据您的 viewController 设置,有很多不同的选项(即 tabBar viewControllers 、导航堆栈等)

于 2013-01-26T01:48:39.560 回答