Ответ 1
В моем случае я добавил программно несколько UIBarButtonItem. Проблема использования невидимого представления в качестве архитора заключается в том, что, как и в моем случае, размер UIBarButtonItem меняет его размер, стрелка popover не отображается по центру, и хотя это работает, выглядит немного странно.
Как его решить.
Создайте небольшой вид в раскадровке (размер не имеет значения), сделать его невидимым и связать его. В моем случае это называется invisibleViewAsArchor
Подключите элемент UIBarbutton к следующему действию.
-(IBAction) showMyPopover:(id)sender {
if([self.popoverController isPopoverVisible])
{
[self.popoverController dismissPopoverAnimated:YES];
}else{
self.invisibleViewAsArchor.frame = CGRectMake([sender view].frame.origin.x,
[sender view].frame.origin.y-50,
[sender view].frame.size.width,
[sender view].frame.size.height);
[self performSegueWithIdentifier:@"segue_to_something" sender:self];
}
}
как вы можете видеть, прежде чем он отобразит popover (с помощью performSegueWithIdentifier), я меняю рамку архива со значениями кнопки, которая запустила событие.
Надеюсь, что это поможет.