Thats how I present my popover
- (IBAction)openImage:(id)sender {
OptionViewController *option = [[OptionViewController alloc] init];
option.delegate = self;
if (!popoverController) {
popoverController = [[UIPopoverController alloc] initWithContentViewController:option];
}
popoverController.delegate = self;
[popoverController setPopoverContentSize:CGSizeMake(320, 88)];
[popoverController presentPopoverFromRect:((UIButton *)sender).bounds inView:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
There is option view controller
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return 2;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] ;
}
NSInteger section = [indexPath row];
switch (section) {
case 0: // First cell in section 0
cell.textLabel.text = @"From library";
break;
case 1: // Second cell in section 1
cell.textLabel.text = @"Make a photo";
break;
default:
// Do something else here if a cell other than 1,2,3 or 4 is requested
break;
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// I set breakpoints there. For now it doesn't work.
}
OptionViewController is a UITableViewController (inherit) that contain UITableView with delegate and datasourse = self (for OptionViewController instance)
I also using XIB. In the XIB UITableView auto-resizing mask setups for each side (left, top, right, bottom)
in other method I don’t invoke any additional method that can lock my view or other my actions.
There is a screenshot with a Color offscreen render option

I think you have set the delegate of OptionViewController incorrectly.
If implementation of delegate methods are in OptionViewController then you should remove setting option.delegate or set it to itself:
option.delegate = option;.Your dataSource delegate (option.dataSource) looks to be working but not the delegate (option.delegate).