UITableViewController以编程方式访问静态单元格

Fon*_*nix 5 objective-c uitableview ios

假设我有一个包含10个静态单元格的表,有没有办法以编程方式选择某个单元格?

我试过这个

UITableViewCell *cell = [self.tableView.subviews objectAtIndex:indexPath.row];
Run Code Online (Sandbox Code Playgroud)

但这似乎并没有实际返回表格单元格.

这似乎让我的代码崩溃了

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
Run Code Online (Sandbox Code Playgroud)

我试图在代码中设置静态单元格的各个高度.一个选择是为每个静态单元格制作出口,但这看起来很愚蠢.

Car*_*ine 15

要访问静态创建的单元格,请尝试以下操作:

UITableViewCell *cell = [super tableView:tableView cellForRowAtIndexPath:indexPath];
Run Code Online (Sandbox Code Playgroud)

这适用于静态单元.所以,如果你在......

- (UITableViewCell *)tableView:(UITableView *)tableView
     cellForRowAtIndexPath:(NSIndexPath *)indexPath {

     UITableViewCell *cell = [super tableView:tableView cellForRowAtIndexPath:indexPath];

    return cell;

}
Run Code Online (Sandbox Code Playgroud)

... delegate,您可以使用上面的声明访问所有静态配置的单元格.从那里,你可以用"细胞"做你想做的事.

我有一个ViewController上有两个UITableViews.其中一个具有静态定义的单元,具有Storyboard,另一个具有使用代码动态定义的单元.鉴于我使用相同的ViewController作为两个表的委托,我需要阻止创建新单元格,其中调用了cellForRowAtIndexPath,其中已经创建了单元格.

在您的情况下,您需要以编程方式访问您的单元格.

玩得开心.


Jos*_*ost 8

创建一个@IBOutlet.

即使您以编程方式重新排列静态单元格,这也会有效.