Come impostare il colore per la vista di sfondo in UIPageViewController
? È possibile farlo in Storyboard?Come impostare il colore di sfondo per UIPageViewController?
risposta
edit: ho pensato che la questione era di circa UIPageControl.
Si dovrebbe essere in grado di modificare semplicemente il colore di vista del UIPageViewController:
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor blueColor]; //Set to any color.
}
In questo caso, è necessario cambiare UIPageControl di UIPageViewCotroller.
Prova questo.
UIPageControl* proxy = [UIPageControl appearanceWhenContainedIn:[self.pageViewController class], nil];
[proxy setPageIndicatorTintColor:[UIColor lightGrayColor]];
[proxy setCurrentPageIndicatorTintColor:[UIColor blackColor]];
[proxy setBackgroundColor:[UIColor whiteColor]];
Se si proietta è scritto da Swift, provare questo.
let proxy: UIPageControl = UIPageControl.appearanceWhenContainedInInstancesOfClasses(self.pageViewController.self)
proxy.pageIndicatorTintColor = UIColor.lightGrayColor()
proxy.currentPageIndicatorTintColor = UIColor.blackColor()
proxy.backgroundColor = UIColor.whiteColor()
La domanda è relativa al colore a scorrimento di UIPageViewController, non a UIPageControl. – kelin
La domanda è "Come impostare il colore di sfondo di un UIPageViewController" e non su UIPageControl, si prega di modificare la risposta. –
Sì, è possibile cambiare il colore di sfondo, ma non sembra essere esposti in Interface Builder.
Seguendo il metodo proscritto per l'installazione del controller della vista pagina in IB, è necessario:
1. Aggiungere un UIContainerView al controller della vista
2. Aggiungere un UIPageViewController allo storyboard
3. Aggiungere un Embed segue dal UIViewContainer al UIPageViewController (con la myPageViewController identificatore)
l'dal controller di vista originale, aggiungere questo al tuo metodo di prepareForSegue
:
if ([segueName isEqualToString: @"myPageViewController"]) {
/* _pageViewController is a property where I keep a reference to the embedded controller */
if (_pageViewController == nil) {
/* only do this once */
_pageViewController = (WePageViewController*)[segue destinationViewController];
_pageViewController.dataSource = ...;
_pageViewController.delegate = ...;
_pageViewController.view.backgroundColor = [UIColor purpleColor];
}
p.s. scuse come non ho trasferito a Swift ancora ...
Per cambiare il colore di sfondo, usa il UIPageControl
e assegnare la proprietà backgroundColor
al UIColor
desiderata
UIPageControl *pageControl = [UIPageControl appearance]; pageControl.backgroundColor = [UIColor orangeColor];
vista di All'interno UIPageViewController, è possibile utilizzare questo codice:
override func viewDidLoad() {
super.viewDidLoad()
// Set backbround color to white
self.view.backgroundColor = UIColor.white
}
Ho impostato il colore su bianco, ma è possibile inserire praticamente il colore desiderato.
Cheers!
Questa è la risposta corretta alla domanda – jtymann