0

Я хотел бы представить popover из UIBarButtonItem, присутствующего в UITabBarController, используя objectC в iOS9. Этот popover - это UITableViewController. Я закодировал следующим образомПредставление popover в UITabBarController с использованием UIBarButtonItem iOS9

- (IBAction)MenuButtonPopOverTouch:(id)sender { 
LogoutTableViewController* content = [[LogoutTableViewController alloc] init]; 
content.modalPresentationStyle = UIModalPresentationPopover; 
[self presentViewController:content animated:YES completion:nil]; 
UIPopoverPresentationController *PopOverPresentation = [content popoverPresentationController]; 
PopOverPresentation.permittedArrowDirections = UIPopoverArrowDirectionDown; 
} 

Я думаю, что я пропустил размер содержимого, но пирог не знаю, как для его инициализации. Любая помощь приветствуется. Прикрепление предварительного просмотра моей раскадровки при необходимости что-нибудь еще, пожалуйста, дайте мне знать

storyboardImage

+0

создать невидимый uiview на вкладке tabbarcontroller. Вы должны подклассифицировать UITabBarController. затем присвойте этому невидимому виду длинный распознаватель жестов нажатия. Затем, когда пользователь удаляет область CGRect и точку, где вы хотите кнопку, представляющую popover, вы перехватываете это событие, а затем представляете popover вместо этого. Я делаю это все время, много кода, чтобы заставить его работать, но это простой способ, который я нашел. удачи – Loxx

+0

@ Larcerax Извините, не мог понять это правильно, так как я вроде новичок в этом, если возможно, могу предоставить мне фрагмент кода ... – ashwin

ответ

0

Я нашел ответ на мой вопрос здесь решение

- (IBAction)MenuPopOver:(id)sender { 

[self performSegueWithIdentifier:@"CustomerMenu" sender:self.MenuBarButtonItem]; 
} 

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
NSString *popoverIdentifier = segue.identifier; 
if([popoverIdentifier isEqualToString:@"CustomerMenu"]){ 
    UIViewController *dvc = segue.destinationViewController; 
    dvc.preferredContentSize = CGSizeMake(150, 50); 
    UIPopoverPresentationController *ppc = dvc.popoverPresentationController; 
    if (ppc) { 
     ppc.delegate = self;  
    } 
} 
} 

-(UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller{ 
return UIModalPresentationNone; 
} 

Я нашел его по этой ссылке PopoverPresentationController

Было также проверено

Смежные вопросы