Элемент управления Popover изменяет свое местоположение при выборе различных строк таблицы - PullRequest
2 голосов
/ 06 марта 2012

Я работаю с двумя поповерными контроллерами для выбора страны и штата соответственно. Информация о стране и штате помещается в табличное представление. Когда я нажимаю на строку страны, всплывающее окно соответствующих состояний отображается в другом поповере с заданным кадром. Это работает нормально для 4 строк данных. Но когда строк данных страны больше 4, всплывающее окно состояния отображается в другом углу, т.е. меняет свою позицию. Вот код для создания popover в методе didSelect row

StateSelection_iPad *classCourse = [[StateSelection_iPad alloc] init];
popover = [[UIPopoverController alloc] initWithContentViewController:classCourse];
    popover.delegate = self;
    classCourse.popNewDelegate=self;
    [popover presentPopoverFromRect:CGRectMake(50,-40, 200, 300) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
[classCourse release];

и в классе .m

self.contentSizeForViewInPopover = CGSizeMake(250, 220);

Как получить всплывающее окно для данного кадра каждый раз, когда я нажимаю на строку таблицы с 'n' количеством строк

1 Ответ

0 голосов
/ 02 мая 2012

используйте этот код для отображения всплывающей строки

UITableViewCell * clickedCell = (UITableViewCell *) [[superview отправителя] superview];

NSIndexPath * clickedButtonPath = [table2 indexPathForCell: clickedCell];

int row = clickedButtonPath.row;

int section1 = clickedButtonPath.section;

     OR

NSSet * touch = [event allTouches]; UITouch * touch = [касается любого объекта]; CGPoint currentTouchPosition = [touch locationInView: self.tableView];

[popover presentPopoverFromRect: CGRectMake (currentTouchPosition.x-10, clickedCell.frame.origin.y + 100, 10, 10) inView: self.view разрешеноArrowDirections: UIPopoverArrowDirectionLeft animated: YES];

измените рамку согласно вашему требованию.

...