iOS 7 iPad支持横向和纵向



有人能告诉我如何在iOS 7 iPad中使用自动布局或编程方式支持横向和纵向方向吗。

我尝试过用@"将旋转方法"编程,也尝试过自动布局。。但这两者都不能正常工作。

不知道我在哪里犯了错误

请检查以下代码以供参考,并更正我的

-(void)WillRotateToInterface Orientation:(UIInterfaceOrientation)to Interface Orientation持续时间:(NSTimeInterval)持续时间{

if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) {
     NSLog(@"Landscape left");
     NSLog(@"Landscape left  : %@",LoginBackgroundView);
     LoginViewObj.loginBackgroundImage.frame= CGRectMake(0 , 0, 1024, 768);
     LoginViewObj.LoginBackgroundView.frame =CGRectMake(346, 228, 337, 300);

} else if (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
    NSLog(@"Landscape right");
    LoginViewObj.loginBackgroundImage.frame= CGRectMake(0 , 0, 1024, 768);
    LoginViewObj.LoginBackgroundView.frame =CGRectMake(346, 228, 337, 300);

} else if (toInterfaceOrientation == UIInterfaceOrientationPortrait) {
    NSLog(@"Portrait");
     NSLog(@"potrait : %@",LoginBackgroundView);
     LoginViewObj.loginBackgroundImage.frame= CGRectMake(0 , 0, 768, 1024);
     LoginViewObj.LoginBackgroundView.frame =CGRectMake(0, 330, 337, 300);

} else if (toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
     NSLog(@"Upside down");
     LoginViewObj.loginBackgroundImage.frame= CGRectMake(0 , 0, 768, 1024);
     LoginViewObj.LoginBackgroundView.frame =CGRectMake(0, 330, 337, 300);
}

}

(旧方法)支持<=上的所有接口方向iOs 5。。把这个放在你的viewController 中

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{

    return YES;
}

(当前方式)支持>=iOs 6。。将这些放在viewController中,并在目标设置的"常规"(第一个)选项卡中选择支持的方向。。。

- (BOOL)shouldAutorotate NS_AVAILABLE_IOS(6_0){
  return YES;
}
- (NSUInteger)supportedInterfaceOrientations NS_AVAILABLE_IOS(6_0){
    return UIInterfaceOrientationMaskAll;
}

如果你一直以iOs5为目标,你可以同时拥有这两种功能——没有问题。

使用此获得解决方案

 -(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) {
    // here for landscape mode frames
}
if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {
    LoginBackgroundView.frame =CGRectMake(200, 330, 337, 300);
    loginBackgroundImage.frame= CGRectMake(0   , 0, 768, 1024);
    loginBackgroundImage.image = [UIImage imageNamed:@"Login_potrait.png"];
    footerView.frame= CGRectMake(0, 980,768, 50);
    logoImage.frame = CGRectMake(220, 197, 258, 105);
}

}

现在控件在两个方向上都能正常工作

相关内容

  • 没有找到相关文章