0

Я успешно подключил несколько popover-представлений в построителе интерфейса. Я попытался сделать черный фон, установив цвет фона представления на черный, но я все еще получаю белую стрелку на самом popover и белые артефакты на 4 закругленных углах.Сделать Popover Background Black в интерфейсе Builder

См. Скриншот.

enter image description here

Что я могу сделать, чтобы сделать фон полностью черный в интерфейсе строителя?

Я ценю ответ ниже, но я до сих пор не вполне может заставить его работать - вот мой код:

// Show the satellite Ephemeris 
    if (itemIndex == 1) { 

     if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
      NSLog(@"This is an iPad - Creating popover!"); 
      EphemerisDataView *ephemView = [[EphemerisDataView alloc] init]; 
      UIPopoverController *popOver = [[UIPopoverController alloc] initWithContentViewController:ephemView]; 
      [popOver setPopoverBackgroundViewClass:[DDPopoverBackgroundView class]]; 
      [popOver.popoverBackgroundViewClass setTintColor:[UIColor blackColor]]; 
      CGSize size = CGSizeMake(320, 480); // size of view 
      popOver.popoverContentSize = size; 
      [popOver presentPopoverFromRect:self.popOverAnchor.bounds inView:self.view 
          permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

     } 
     else { 
      NSLog(@"This is not an iPad - Performing segue..."); 
      // Show the next view 
      [self performSegueWithIdentifier:@"Ephemeris" sender:self]; 
     } 
    } 

ответ

0

Делают это так:

 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 

      NSLog(@"This is an iPad - Creating popover!"); 
      UIStoryboard *storyboard = [UIStoryboard storyboardWithName: @"MainStoryboard_iPad" bundle:[NSBundle mainBundle]]; 
      EphemerisDataView *ephemView = [storyboard instantiateViewControllerWithIdentifier:@"EphemerisDataView"]; 
      UIPopoverController *popOver = [[UIPopoverController alloc] initWithContentViewController:ephemView]; 
      self.customPopoverController = popOver; 
      [popOver setPopoverBackgroundViewClass:[DDPopoverBackgroundView class]]; 
      [popOver.popoverBackgroundViewClass setTintColor:[UIColor blackColor]]; 
      popOver.delegate = self; 
      CGSize size = CGSizeMake(320, 480); // size of view 
      popOver.popoverContentSize = size; 
      [popOver presentPopoverFromRect:self.popOverAnchor.bounds inView:self.popOverAnchor 
          permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

     } 
     else { 
      NSLog(@"This is not an iPad - Performing segue..."); 
      // Show the next view 
      [self performSegueWithIdentifier:@"Ephemeris" sender:self]; 
     } 
1

Вы не можете настроить эту стрелку на IB. Вам понадобится полностью настроенный popover для вас. Многие из них доступны на git. Но если вы хотите использовать по умолчанию, тогда также невозможно настроить эту стрелку.

+0

Так что я нашел это: https://github.com/ddebin/DDPopoverBackgroundView. Но могу ли я использовать это с построителем интерфейса? Я не могу понять, как установить popoverBackgroundViewClass в построителе интерфейса. – PhilBot

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

  • Нет связанных вопросов^_^