Czy ktoś może wskazać mi jakieś dobre przykłady tworzenia niestandardowego kontrolera widoku jako kontrolera widoku kontenera? Jedyną dokumentacją, jaką mogę znaleźć, jest kilka akapitów w odwołaniu do klasy UIViewController . Czuję, że potrzebuję trochę więcej informacji i przykładowa implementacja byłaby miła. Google w ogóle nic nie pokazało.
Szczególnie interesuje mnie metoda:
transitionFromViewController:toViewController:duration:options:animations:completion:
objective-c
ios
uiviewcontroller
ios5
Nieuwaga
źródło
źródło
Odpowiedzi:
Najlepszą rzeczą, jaką do tej pory znalazłem, jest sesja wideo WWDC 2011 Session 102 - Implementing UIViewController Containment .
źródło
Oprócz wspomnianej już hypercrypt sesji wideo WWDC Session 102 - Implementing UIViewController Containment , sesja Apple WWDC 2012 dotycząca „Ewolucji kontrolerów widoku w systemie iOS” obejmuje również ten temat, a przykładowy kod jest częścią przykładowego pakietu kodu:
https://developer.apple.com/devcenter/download.action?path=/wwdc_2012/wwdc_2012_sample_code/wwdc_2012_session_code.dmg
Tutaj jest również przykład: https://github.com/toolmanGitHub/stackedViewControllers
źródło
- (void)viewDidLoad{ [super viewDidLoad]; // I put self in a Navigation VC so we can use its right navigationbar // item for triggering the transition self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(button:)] autorelease]; // create test1 and test2 instance (subclass UIViewController and // also need to define their own nibs) vc1 = [[test1 alloc]initWithNibName:@"test1" bundle:nil]; vc2 = [[test2 alloc]initWithNibName:@"test2" bundle:nil]; //add to the container vc which is self [self addChildViewController:vc1]; [self addChildViewController:vc2]; //the entry view (will be removed from it superview later by the api) [self.view addSubview:vc1.view]; }
ta IBAction wyzwala przejście między dwoma VC:
-(IBAction)button:(id)sender { [self transitionFromViewController:vc1 toViewController:vc2 duration:0.5 options:UIViewAnimationOptionTransitionCurlDown animations:nil completion:nil]; }
źródło
Ten przykład jest dla mnie bardzo przydatny
http://sandmoose.com/post/35714028270/storyboards-with-custom-container-view-controllers
I mają źródło na github:
https://github.com/mluton/EmbeddedSwapping
źródło
Czy to mogłoby:
http://subjective-objective-c.blogspot.com/2011/08/writing-high-quality-view-controller.html
Wystarcza na Twoje potrzeby?
źródło
nie wiem, czy to jest „dobry” przykład, ale możesz pobrać bezpłatny Container ViewController ze strony https://bitbucket.org/javieralonso/jaacordeonviewcontroller/overview
Jest to kontroler widoku kontenera z pełną metaforą akordeonu
źródło
Oto mój ulubiony samouczek / przykłady na ten temat (gotowe na iOS7) (wszystkie trzy mają kod źródłowy dostępny na github):
Wyświetl zawartość kontrolera
Niestandardowe przejścia kontrolera widoku kontenera
Interaktywne przejścia kontrolera widoku kontenera niestandardowego
A potem oczywiście Apple oferuje cały opis na ten temat, który uważam za bezcenny:
Tworzenie niestandardowych kontrolerów widoku kontenera
źródło