How to Hide Keyboard When Editing and Using a PopupView TableViewController


#1

Greetings Programs!

I am using a popup tableviewcontroller to select a value but the keyboard still comes up.

How do I disable the keyboard if I want to use a popup?

Thanks!

Wg


#2

Hey Wg,

Personally, I would create a cell subclass. That is the sure way to have full control of your cells functionality.


#3

Looking through the intellisense, I found the didTapCellAtCoordinate method. I stopped looking to hide the keyboard and put my popover in this method and had the effect I was looking for.

This is the code I used:

  • (void)shinobiDataGrid:(ShinobiDataGrid *)grid didTapCellAtCoordinate:(SDataGridCoord *)coordinate isDoubleTap:(BOOL)isDoubleTap
    {
        // find the cell that was edited
        SDataGridTextCell *cell = (SDataGridTextCell*)[shinobiDataGrid visibleCellAtCoordinate:coordinate];
       
        ServiceOrderLine *serviceOrderLine = serviceOrderLines[cell.coordinate.row.rowIndex];
       
        if ([cell.coordinate.column.title isEqualToString:@“Part/Service”])
        {
            // The view controller you want to present as popover.
            PriceListViewController *controller = (PriceListViewController *)[[PriceListViewController alloc] init];
            controller.selectedGridCell = cell;
            controller.serviceOrderLine    = serviceOrderLine;
           
            UIPopoverController* popover = [[UIPopoverController alloc] initWithContentViewController:controller];
            popover.delegate = self;
            popover.popoverContentSize = CGSizeMake(320,300);
           
            // Store the popover in a custom property for later use.
            self.popoverController = popover;
            controller.partPopoverController = popover;
           
            //Present the popover
            [popover presentPopoverFromRect:cell.frame
                                     inView:self.view
                   permittedArrowDirections:UIPopoverArrowDirectionAny
                                   animated:YES];
        }
    }