我有一个UITableView
按下时,应该按下另一个视图控制器但是didSelectRowAtIndexPath
没有被调用。我正在使用另一个视图控制器PhotoCell
,广告单元格有任何影响。提前致谢!这是表格的代码。
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// NSInteger sections = self.objects.count;
// if (self.paginationEnabled && sections != 0)
// sections++;
// return sections;
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
// if (indexPath.section >= self.objects.count) {
// // Load More Section
// return 320.0f;
// }
//
return 320.0f;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"PhotoCell";
PhotoCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell==nil) {
cell = [[PhotoCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
[cell setThumbImage:self.thumbImage];
cell.imageView.image = self.thumbImage;
[cell setExclusiveTouch:YES];
return cell;
}
//this is what i need to look at
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailViewController *detailsViewController = [[DetailViewController alloc] init];
[self.navigationController pushViewController:detailsViewController animated:YES];
NSLog(@"Pushing row at index path");
}
这是我定义表格的地方
[self.tableView registerClass: [PhotoCell class] forCellReuseIdentifier:@"PhotoCell"];
self.tableView = [[[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 568) style:UITableViewStylePlain] autorelease];
[self.tableView setDelegate: self];
[self.tableView setDataSource:self];
[self.scrollView addSubview:self.tableView];
self.tableView.separatorColor = [UIColor clearColor];
答案 0 :(得分:3)
假设您在界面构建器中设置了推送segue,我将继续盲目猜测。
在这种情况下,当触发segue时不会调用tableView:didSelectRowAtIndexPath:
。如果你需要在segue执行之前做额外的设置,你可以实现
prepareForSegue:sender:
。
答案 1 :(得分:1)
在我的情况下,问题在于选择属性是"没有选择"。当我从'#34;没有选择"对于任何其他值,didSelectRowAtIndexPath方法开始工作。
答案 2 :(得分:0)
很难说确切的原因,但有些事情要尝试: