UIScrollView在纵向模式和横向模式下的表现不同

时间:2011-03-14 11:17:43

标签: iphone ipad uiscrollview

我已经通过XIB创建了一个UIScrollVIew(name-helpView),其大小为(768,1800)。 现在我通过以下代码将其添加到另一个视图中。

-(IBAction)showHelpView:(UIButton *)sender{

if(helpViewIsShowing==NO){
    //set the content size more than the view size to make the view scroll
    helpView.contentSize = CGSizeMake(helpView.frame.size.width, 2200);

    [self.view addSubview:helpView];
    helpButton.selected=YES;
    helpView.backgroundColor=[UIColor whiteColor];
    helpView.frame=CGRectMake(0, 41, helpView.frame.size.width, helpView.frame.size.height);
    helpViewIsShowing=YES;
}
else{

    [helpView removeFromSuperview];
    helpButton.selected=NO;
    helpViewIsShowing=NO;

}

}

当我以纵向模式运行时,scrollview的框架显得很好。如果我将设备从PORTRAIT转换为PORTRAIT,它也可以正常工作。但是,如果我以横向模式运行代码,则scrollview的框架不会将自身调整为全屏大小。我还通过XIB给出了一个自动调整大小的掩码。但也没有运气。 任何人都可以帮我这个....谢谢

1 个答案:

答案 0 :(得分:2)

尝试将视图控制器中的视图框设置为您需要的视图大小。您可以根据需要定义高度和宽度。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Override to allow orientations other than the default portrait orientation.
    if (interfaceOrientation==UIInterfaceOrientationLandscapeLeft || interfaceOrientation==UIInterfaceOrientationLandscapeRight) {
        self.helpView.frame = CGRectMake(0, 0, 703,768);    

        } else {
        self.helpView.frame = CGRectMake(0, 0, 768, 1024);
        }


    return YES;
}
祝你好运