UITableView代理cellForRowAtIndexPath不执行的相关解决方案

来源:互联网 发布:青岛 阿里云 编辑:程序博客网 时间:2024/06/07 18:19

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 

我要捐赠: 点击捐赠

Cocos2d-X源码下载:点我传送


1、是否设置代理与数据源

    [table setDelegate:self];

    [table setDataSource:self];


2、numberOfSectionsInTableView是否设置

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    return 1;

}


3、numberOfRowsInSection方法返回值是否正确,如果不正确就不会执行 cellForRowAtIndexPath。

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

    return 1;

}


4、检查Table是否被其他View遮挡


5、还有可能是autolayout引起的,autolayout约束不对,也会导致tableview显示不出来,

cellForRowAtIndexPath是在显示到界面的时候才调用,正确的设置autolayout就会执行该方法。 


6、如果纯代码实现,并使用VFL布局参考以下写法

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-64-[table]-50-|" options:0 metrics:nil views:constraintsView ]];

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[table]-0-|" options:0 metrics:nil views:constraintsView ]];


郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 

我要捐赠: 点击捐赠

Cocos2d-X源码下载:点我传送

2 0
原创粉丝点击