didSelectRowAtIndexPath not get called

Derek Li picture Derek Li · Aug 2, 2011 · Viewed 9.2k times · Source

I have a UITableView inside a UIViewController like so:

.h

@interface OutageListViewController : UIViewController<UITableViewDelegate,UITableViewDataSource> {
   IBOutlet UITableView *outageTable;

.m

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
   NSLog(@"Selected");
}

I have customized table cell:

//EDIT I have fire UILabel side by side on my customized view, as well as a background spreading the entire area. But after resizing/removing the background image and label I putted on the customized cell, "didSelectRowAtIndexPath" is still not being called. //END EDIT

@interface AbstractSummaryListViewCell : UITableViewCell {...}

and

@interface FiveColumnSummaryCell : AbstractSummaryListViewCell {...}

This UIView is inside another UIView:

@interface CustomTabBarController : UIViewController {
   OutageListViewController *outageListViewController;

And my AppDelegate add this to the window:

[window addSubview:[customTabBarController view]];

Now I'm trying to determine which cell get clicked and didSelectRowAtIndexPath doesn't get called, I have dataSource and delegate connect from the UITableView to File's Owner, in fact the data populates correctly as my "cellForRowAtIndexPath" specifies, any ideas how can I fix this?

Thanks!

Answer

Derek Li picture Derek Li · Aug 2, 2011

I solved it: forgot to check User Interaction Enabled in my customized cell xib. What a fool!