我想以编程方式在表格视图中选择一行,然后显示我的弹出框,让箭头指向单元格。
当表格没有滚动时,此代码可以正常工作,对于滚动表格视图,弹出箭头的位置不正确。
[self.EventsTableView selectRowAtIndexPath:indexPath
animated:YES
scrollPosition:UITableViewScrollPositionMiddle];
[popoverController presentPopoverFromRect:CGRectOffset(cell.frame, 0, cell.frame.size.height + self.EventsTableView.contentOffset)
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionLeft
animated:YES];
感谢您的帮助
答案 0 :(得分:6)
您应该将单元格作为视图传递。很可能你会想要为矩形传递单元格的边界(cell.bounds,而不是cell.frame)。
答案 1 :(得分:4)
当用户滚动列表时,上面的方法似乎对我不起作用。找到相对于滚动量的单元格位置就是一招。
CGRect rect = [tableView convertRect:[tableView rectForRowAtIndexPath:indexPath]
toView:tableView];
[popoverController presentPopoverFromRect:rect
inView:tableView
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];