Chociaż można wdrożyć ten sam (z custom container view controller w połączeniu z UIPanGestureRecognizer
lub UIScrollView
), w przypadku korzystania z iOS 6, a później, najprostszym sposobem będzie użycie Page View Controller z „przewijać” stylu przejściowym.
Rozważmy Storyboard:
![pageviewcontroller storyboard](https://i.stack.imgur.com/aC9vi.png)
składa się z kontrolera widoku strony i dwie sceny na dwóch stronach. Strona 1 ma identyfikator storyboardu: one
i podstawową klasę PageOneViewController
. Strona 2 ma identyfikator storyboardu: two
i podstawową klasę PageTwoViewController
.
Potem napisał UIPageViewController
podklasę (i być może oczywiste, jest to klasa I określone dla pierwszego ujęcia powyższej storyboard), który ma następujący kod:
- (void)viewDidLoad
{
[super viewDidLoad];
self.dataSource = self;
[self setViewControllers:@[[self.storyboard instantiateViewControllerWithIdentifier:@"one"]] direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
if ([viewController isKindOfClass:[PageOneViewController class]])
return nil;
return [self.storyboard instantiateViewControllerWithIdentifier:@"one"];
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
if ([viewController isKindOfClass:[PageTwoViewController class]])
return nil;
return [self.storyboard instantiateViewControllerWithIdentifier:@"two"];
}
można zrobić to z NIB również, ale wymaga napisania więcej kodu. Jeśli wyszukasz UIPageViewController XIB
, prawdopodobnie otrzymasz kilka trafień.
Jeśli musisz obsługiwać wersje iOS wcześniejsze niż 6.0, musisz wykonać niestandardowe podejście do kontenera z gestem panoramowania lub widokiem przewijania.
mógłbyś mi pomóc ewentualnie z opcją widoku przewijania. Jak już powiedziałem, nie jestem zbyt dobry w Objective-C, więc tak naprawdę nie wiem, co robię. Czy mógłbyś ewentualnie napisać przykładowy kod jak mogę zaimplementować UIScrollView. Ponownie, jak powiedziałem wcześniej, mam dwa kontrolery widoku (nie wiem, czy to prawda), z pojedynczym widokiem wewnątrz każdego z nich. Dziękuję Ci! Jeśli potrzebujesz, poproś o więcej informacji! – user2397282
Istnieje wiele samouczków i przykładów w Internecie: http://www.raywenderlich.com/10518/how-to-use-uiscrollview-to-scroll-and-zoom-content http://eureka.ykyuen.info/2010/05/22/iphone-uiscrollview-with-paging-example/http://gabriel-tips.blogspot.com/2012/02/page-control-display-view-controllers.html http: // www. iosdevnotes.com/2011/03/uiscrollview-paging/ – Flop
@ user2397282 Flop dał Ci wiele doskonałych linków. Powinieneś przejść przez niektóre (jeśli nie wszystkie) z nich i naprawdę zrozumieć, jak działają. Jeśli poświęcisz czas na zbadanie pytania, przechodząc przez niektóre z tych linków, odkryjesz kilka świetnych sposobów rozwiązania swojego problemu. – Rob