2014-04-20 5 views
0

UIView에서 하위보기로 추가 된 UIPageViewController가 있습니다. UIView는 UIViewController의 뷰 상단에 앉아서 UIPageViewController를 앉아 있어야하는 것보다 낮게 놓았지만 다음 UIPageViewController의 뷰를 누르기 직전에 올바른 위치로 다시 보냅니다.iOS7 및 UIPageViewController 문제

그는 무엇을하고 있습니까? 나는 모든 것을 시도했지만 여전히 문제를 파악할 수 있습니다.

enter image description here

어떤 문제가 될 것 같습니다 :

이는 모습입니다? 미리 감사드립니다!


편집 : 그래서, 문제를 알아 냈어요

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view from its nib. 

    self.pageController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil]; 

    DataChildViewController *initialViewController = [self viewControllerAtIndex:0]; 
    NSArray *viewControllers = [NSArray arrayWithObject:initialViewController]; 
    [self.pageController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil]; 

    self.pageController.dataSource = self; 
    self.pageController.delegate = self; 
    self.pageController.view.userInteractionEnabled = NO; 

    self.pageController.view.frame = self.view.bounds; 
    [self.pageControllerParent addSubview:self.pageController.view]; 
    [self addChildViewController:self.pageController]; 

    self.currentPageControllerIndex = 1; 
} 

- (IBAction)buttonNextDidClicked 
{ 
    self.buttonNext.enabled = NO; 
    __weak typeof(self) __self = self; 
    [self.pageController setViewControllers:@[[self viewControllerAtIndex:self.currentPageControllerIndex]] 
            direction:UIPageViewControllerNavigationDirectionForward 
            animated:YES 
           completion:^(BOOL finished) { 
            __self.currentPageControllerIndex++; 
            __self.buttonNext.enabled = YES; 
           }]; 
} 

#pragma mark - UIPageViewControllerDelegate & DataSource 

- (DataChildViewController *)viewControllerAtIndex:(NSUInteger)index 
{ 
    DataChildViewController *childViewController = [[DataChildViewController alloc] initWithNibName:@"DataChildViewController" bundle:nil]; 
    childViewController.index = index; 

    return childViewController; 
} 
+0

당신이 나에게 당신이 PageController1를 만드는 코드를 제공 할 수, 당신은 UIPageViewController에 할당

가있는 viewDidLoad에 나는이 줄을이었다. 나는 그것이 setFrame 함수 때문이라고 생각한다. 그것을 다시 확인하십시오. – nmh

+0

안녕하세요, 감사합니다. 내 코드를 편집했습니다. –

답변

0

: 이것은 내 코드입니다.

self.pageController.view.frame = self.view.bounds; 

가 실제로해야하는 경우 :

self.pageController.view.frame = self.pageControllerParent.bounds; 
+0

수정되었습니다. 권리? : D – nmh

+0

옙 :) 그것은 .. 감사합니다 친구! –