2017-02-07 9 views
1

Mit einem einzigen UIViewController habe ich zwei UIView s (eine über der anderen) erstellt. Dies wurde alles in storyboard getan.Wischen zwischen UIViews innerhalb des Viewcontrollers

Ich habe Gestensteuerung Funktionen:

-(void) SwipeLeft:(UISwipeGestureRecognizer *) gest_ 
{ 
if (self.view == UIViewFirst) 
    return; 
else 
[self.view bringSubviewToFront:UIViewFirst]; 
} 

-(void) SwipeRight:(UISwipeGestureRecognizer *) gest_ 
{ 
if (self.view == UIViewSecond) 
    return; 
else 
[self.view bringSubviewToFront:UIViewSecond]; 
} 
} 

In viewDidLoad der Klasse Viewcontroller, ich habe einfach

[self.view bringSubviewToFront:UIViewFirst] 

Jetzt sind die Ansichten kommen, aber sie sind leer. Ich habe Beschriftungen zu beiden Ansichten hinzugefügt, um zu sehen, ob dies der Fall wäre. Es werden keine Labels angezeigt. Was mache ich falsch? Sollte ich etwas wie pageController, pageViewController oder UIScrollView verwenden? Mein Ziel ist es, zwischen UIViews mit Inhalten in ihnen wischen zu können (oberer halber View-Controller).

+0

Verwendung pageviewcontroler zu finden ist besser – GeneCode

Antwort

0

UIPageViewController behandelt alle Übergänge für Sie, und wickelt es in schöne, glatte Animationen zu. Sie legen zunächst einfach die viewControllers-Eigenschaft fest und implementieren dann zwei Delegate-Methoden, sodass der Controller weiß, welche Ansicht als Nächstes kommt.

public func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? 

public func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? 

Mein Vorschlag ist, dass Sie UIPageViewController und implementieren diese Methoden Unterklasse, auf dieser Klasse eine Reihe von schwachen Instanzen Ihrer Ansicht-Controller halten, dann in viewDidLoad setzten die pageController.viewControllers Eigenschaft Array zu sein und in der Delegatmethoden Griff Berechnen des aktuellen Index und Vorschlagen des nächsten darauf basierenden Controllers.

Beachten Sie, dass Ihre 'Ansichten' tatsächlich in verschiedenen View-Controllern enthalten sein müssen, um mit UIPageViewController zu arbeiten.

Weitere Informationen hierzu finden here

Verwandte Themen