cellForRowAtIndexPath未被调用

时间:2014-10-18 12:23:38

标签: ios objective-c xcode uitableview

我正在处理xCode 5上的应用。我使用的UIViewController包含UIImageView作为背景图片,我也有两个观看点(顶部)和底部)和它们之间的UITableView

我正在使用AutoLayout(我不想改变)。问题是 tabelcells 没有显示。

我用断点调试它我发现方法cellForRowAtIndexPath的断点从未被击中,但断点位于numberOfRowsInSectionnumberOfSectionsInTableView(I' m返回值' 1'在这里)。

这是View do Load Method:

  - (void)viewDidLoad
  {
  [super viewDidLoad];

self.imgViewSurveyItem=[[UIImageView alloc]initWithFrame:CGRectMake(-106, -238,-874, -1262)];
self.tblViewSurveyItem =[[UITableView alloc] initWithFrame:CGRectMake(18, 82, 733, 854)];
self.tblViewSurveyItem.dataSource=self;
self.tblViewSurveyItem.delegate=self;
[self.tblViewSurveyItem reload];
}

这些是两种观点的初始化:

   @property (strong, nonatomic) UITableView *tblViewSurveyItem;
   @property (strong, nonatomic) UIImageView *imgViewSurveyItem;

这是NumberofRowinSection

  -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
   {
         return [self.QuestionData count];
   }

请在不禁用AutoLayout的情况下提供一些解决方案。

这是cellOfForRowAtIndexPath:

    APMBasicSurveyItemTableeViewCell *cell = [self.tblViewSurveyItem dequeueReusableCellWithIdentifier:APMSurveyItemBasicCellIdentifier forIndexPath:indexPath];
    APMQuestion * Question= [self.QuestionData objectAtIndex:indexPath.row];
    cell.lblQuestionDetail.text= Question.Detail;
    return cell;

4 个答案:

答案 0 :(得分:1)

您正在设置tank视图的委托和数据源属性,然后创建表视图。

您需要在创建后添加委托和数据源。

答案 1 :(得分:0)

以这种方式试试......

self.imgViewSurveyItem=[[UIImageView alloc]initWithFrame:CGRectMake(-106, -238,-874, -1262)];
self.tblViewSurveyItem =[[UITableView alloc] initWithFrame:CGRectMake(18, 82, 733, 854)];

self.tblViewSurveyItem.dataSource=self;
self.tblViewSurveyItem.delegate=self;

希望它对你有所帮助。

答案 2 :(得分:0)

你是否符合UITableViewDelegate& amp; UITableViewDataSource?

此外,尝试手动调用[self.tblViewSurveyItem reloadData]并查看是否被调用。

答案 3 :(得分:0)

以防万一你在下面的长篇评论中错过了它:
删除alloc-init方法(因为它们是在Interface Builder中创建的出口),
或者将其更改为:

self.imgViewSurveyItem = [[UIImageView alloc] initWithFrame:CGRectMake(-106, -238,-874, -1262)];
self.tblViewSurveyItem = [[UITableView alloc] initWithFrame:CGRectMake(18, 82, 733, 854)];
self.tblViewSurveyItem.dataSource=self;
self.tblViewSurveyItem.delegate=self;
[self.view addSubview: self.imgViewSurveyItem];
[self.view addSubview: self.tblViewSurveyItem]