`
慭慭流觞
  • 浏览: 44225 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

屏幕是横向的时候,NavigationBar总是在下边?

    博客分类:
  • iOS
阅读更多

这是由于旋转时没有定位屏幕的位置,我们可以写一个旋转时的方法:

-(void)rotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    switch(toInterfaceOrientation)
    {
        case UIInterfaceOrientationLandscapeLeft:
            self.view.transform=CGAffineTransformMakeRotation(3.1415926*(-90));//向右旋转,顺时针旋转,弧度=度数/180*PI
            if([self.deviceType isEqualToString:@"iPad Simulator"])//真机测试时换成 iPad
            {
                self.view.bounds=CGRectMake(0.0, 0.0, 1024.0, 748.0);//重点是这句话,标明视图位置,不然NavigationBar就可能在下边
                [self loadHorizontalViewForIPad];//加载iPad水平视图
            }
            else
            {
                self.view.bounds=CGRectMake(0.0, 0.0, 480.0, 300.0);
                [self loadHorizontalViewForIPhone];//加载iPhone水平视图
            }
            break;
        case UIInterfaceOrientationLandscapeRight:
            self.view.transform=CGAffineTransformMakeRotation(3.1415926*90);//向左旋转,逆时针旋转弧度=度数/180*PI
            if([self.deviceType isEqualToString:@"iPad Simulator"])//真机测试时换成 iPad
            {
                self.view.bounds=CGRectMake(0.0, 0.0, 1024.0, 748.0);
                [self loadHorizontalViewForIPad];//加载iPad垂直视图
            }
            else
            {
                self.view.bounds=CGRectMake(0.0, 0.0, 480.0, 300.0);
                [self loadHorizontalViewForIPhone];//加载iPhone垂直视图
            }
            break;
        default:
            self.view.transform=CGAffineTransformMakeRotation(0);
            if([self.deviceType isEqualToString:@"iPad Simulator"])//真机测试时换成 iPad
            {
                self.view.bounds=CGRectMake(0.0, 0.0, 768.0, 1004.0);
                [self loadVerticalViewForIPad];
            }
            else
            {
                self.view.bounds=CGRectMake(0.0, 0.0, 320.0, 460.0);
                [self loadVerticalViewForIPhone];
            }
    }
}

 

 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics