gpt4 book ai didi

ios - UITableView 作为 subview 总是空的

转载 作者:行者123 更新时间:2023-11-29 13:04:46 25 4
gpt4 key购买 nike

我有一个 ViewController,它有几个使用函数添加的 subview (图表)

[self.view addSubview:subView]

现在,我想添加一个 UITableView 作为 subview ,但是当我这样做时,我的表总是空的。永远不会调用 numberOfSectionsInTableView、numberOfRowsInSection 等方法。我的表没有 XIB 文件。这是我的 .M 文件中的代码:

#import "TableSubviewViewController.h"

@implementation TableSubviewViewController

@synthesize data;
@synthesize tableFrame;

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

-(void)viewDidLoad{
[super viewDidLoad];
self.view.frame = tableFrame;
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return [[self.data allKeys]count];
}

-(NSString*)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
return [[self.data allKeys]objectAtIndex:section];
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 1;
}

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

if(cell == nil){
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = @"Some text";
return cell;
}

这是我的主 ViewController 中的代码,我正在其中创建 TableSubviewViewController:

TableSubviewViewController *tableSubView = [[TableSubviewViewController alloc]initWithStyle:UITableViewStyleGrouped];
tableSubView.tableFrame = tableFrame;
tableSubView.data = data;
[self.view addObject:tableSubView.view];

我错过了什么?
谢谢

最佳答案

TableSubviewViewController tableSubView必须是main ViewController的全局变量,不能是方法viewDidLoad<中的局部变量/strong> 主 ViewController

关于ios - UITableView 作为 subview 总是空的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18907339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com