2016-06-06 2 views
0

привет, я хочу представить контроллер на главном экране. Контроллер с функциональностью popover может кто-нибудь меня из этого? Я уже пробовал этот ниже код, но это comin на всех представлениях, я хочу его в небольшом размере в центре обзора. здесь код нижепоказать один контроллер представления на другом контроллере представления в качестве подзапроса (popoverController)

Login *popoverController = [[Login alloc] init]; 
popoverController.popoverPresentationController.sourceView = self.view; //The view containing the anchor rectangle for the popover. 
popoverController.popoverPresentationController.sourceRect = CGRectMake(384, 40, 40, 40); //The rectangle in the specified view in which to anchor the popover. 
[self presentViewController:popoverController animated:YES completion:nil]; 

ответ

1

Вы можете использовать Контейнер View. Добавьте представление контейнера в родительское представление и добавьте другие представления в представление контейнера.

self.addChildViewController(vc) 
vc.view.frame = CGRectMake(0, 0, self.container.frame.size.width, self.container.frame.size.height); 
self.container.addSubview(vc.view) 
vc.didMoveToParentViewController(self) 
0
let popOverView = self.popoverController.popoverPresentationController 
      popOverView!.delegate = self 
      if popOverView!.sourceView == nil 
      { 
       popOverView!.sourceView = self.view 
       self.popoverController.superView = self 

      } 
      popOverView!.sourceRect = CGRectMake(“X-Define”, ““Y-Define”, “Width”, “Height”) 
      popOverView!.passthroughViews = [self.view] 

      self.presentViewController(self.popoverController, animated: true, completion: nil) 
0

Попробуйте это, я надеюсь, что это поможет ...

в .m файл

Предположим, раскадровка имя идентификатора является переход showPopover

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 

    NSString *identifier = segue.identifier; 
    if ([identifier isEqualToString:@"showPopover"]) { 

     UIViewController *dvc = segue.destinationViewController; 
     dvc.preferredContentSize = CGSizeMake(180,130); 


     UIPopoverPresentationController *ppc = dvc.popoverPresentationController; 
     if (ppc) { 
      ppc.delegate = self; 
     } 
    } 
} 

Добавить это также:

- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller { 

    return UIModalPresentationNone; 
} 
Смежные вопросы