Objective c UIScrollView在拆分视图控制器主视图上的放置

Objective c UIScrollView在拆分视图控制器主视图上的放置,objective-c,ipad,Objective C,Ipad,我有一个奇怪的问题。我有一个分割视图控制器,在细节视图中我有一个滚动视图。在滚动视图中,我有一个带有一些信息的薰衣草 当应用程序第一次在横向视图中打开时,滚动视图始终位于详细视图视图下方的1/2处。当我触摸根视图中的一个项目并显示下一个视图时,然后我返回到滚动视图,滚动视图位于正确的位置(10,10) 我已经在细节视图的ViewWillAspect方法中设置了滚动视图的框架。这是我的密码: - (void)viewWillAppear:(BOOL)animated { [super vi

我有一个奇怪的问题。我有一个分割视图控制器,在细节视图中我有一个滚动视图。在滚动视图中,我有一个带有一些信息的薰衣草

当应用程序第一次在横向视图中打开时,滚动视图始终位于详细视图视图下方的1/2处。当我触摸根视图中的一个项目并显示下一个视图时,然后我返回到滚动视图,滚动视图位于正确的位置(10,10)

我已经在细节视图的ViewWillAspect方法中设置了滚动视图的框架。这是我的密码:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    if (([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortrait) ||
        ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortraitUpsideDown)) {

        [self setPortrait];
        CGRect tmpR = [self.view frame];
        NSLog(@"The Detail View Controller Portrait view: width: %f height: %f",tmpR.size.width, tmpR.size.height);

    } else {

        [self setLandscape];
        CGRect tmpR = [self.view frame];
        NSLog(@"The Detail View Controller Portrait view: width: %f height: %f",tmpR.size.width, tmpR.size.height);

    }

    // show the front page message....
    [self setMessage:kDetailViewMessage];

    // make sure the scroll is at the top....
    [scrollView setContentOffset:CGPointMake(0, 0)];
}


-(void)setLandscape {

    // set the proper scroll view size...
    CGRect navigationBarFrame = self.navigationController.navigationBar.frame;
    CGRect detailWindowFrame = splitView.detailViewController.view.frame;

    CGRect sframe = CGRectZero;
    sframe.origin = CGPointMake(10, 10 + navigationBarFrame.size.height);
    sframe.size = CGSizeMake(detailWindowFrame.size.width - 20, detailWindowFrame.size.height - 20);

    [self.scrollView setFrame:sframe];

    [detailDescriptionLabel setFrame:CGRectMake(0, 0, sframe.size.width, sframe.size.height)];

    [detailDescriptionLabel sizeToFit];
}
现在,应用程序将只显示在横向中,并且不会调用setGrait函数


这已经让我疯狂了好几个小时了。。。。。有什么想法吗

我认为您需要设置内容视图的边界原点,而不是框架。(无论如何,NSScrollView就是这样工作的。)