我采取了两种观点,一种是纵向和横向,我想在旋转角度上切换视图,但是我的代码却无法正常工作,请问我在哪里出错了,因为我是iPhone开发的新手。我还没有实现任何东西在ViewDidLoad方法中,我也应该在那里实现任何功能吗?

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

    if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) {
        self.portrait.hidden = YES;
        self.landscape.hidden = NO;
    } else  {
        self.portrait.hidden = NO;
        self.landscape.hidden =YES;
    }

    return YES; 
}

===============>>#1 票数:1 已采纳

我已经在两个视图中显示了“到图像”,一个在水平视图中,一个在垂直视图中... 样本视图

在ViewController.m中:

@interface OrientationTutorialViewController : UIViewController 
{

    IBOutlet UIView *portraitView;
    IBOutlet UIView *landscapeView;

}

@property (nonatomic, retain) IBOutlet UIView *portraitView;
@property (nonatomic, retain) IBOutlet UIView *landscapeView;


@end

在.h:-

@implementation OrientationTutorialViewController

@synthesize portraitView, landscapeView;


- (void)viewDidLoad 
{
    [super viewDidLoad];

    [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:@"UIDeviceOrientationDidChangeNotification" object:nil];

}

- (void) orientationChanged:(id)object
{  
    UIInterfaceOrientation interfaceOrientation = [[object object] orientation];

    if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) 
    {
        self.view = self.portraitView;
    } 
    else 
    {
        self.view = self.landscapeView;
    }
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{
    return YES;
}



- (void)dealloc 
{
    [super dealloc];
}

@end

希望我的回答对您有帮助...如果没有,请告诉我,我将向您发送该项目。

===============>>#2 票数:0

支持定向功能

-(Bool)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation    {
     return YES;

 }

现在要在旋转时执行操作,您必须使用以下功能

由于有两个名为“ landscape”和“ portrait”的视图,因此请确保已正确链接“参考插座”

    -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{


if (toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) 
{

    self.view = portrait;



}
else
{
    self.view = landscape;


}

}

===============>>#3 票数:0

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    if(interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) {
        self.portrait.hidden = YES;
        self.landscape.hidden = NO;

        return YES;
    }
    else {
        self.portrait.hidden = NO;
        self.landscape.hidden = YES;

        return YES;
    }
}

  ask by crazy2431 translate from so

未解决问题?本站智能推荐:

1回复

在ModalViews之间切换

场景: 1.显示基于导航控制器的视图 2.用户选择选项 3.显示模态视图A 4.用户在模式视图A中选择另一个选项 5.隐藏模态视图A 6.显示模态视图B 请查看标记为//问题在这里的行 当我设置dismissModalViewControllerAnimate
1回复

风景图像有效,肖像图像无效

我不熟悉使用目标C进行编程。我尝试从图像中读取argb数据,然后显示该图像。 它适用于风景图像,但不适用于人像图像。 这是我使用的代码。 输出的肖像图像甚至没有一种正确的颜色。
2回复

使用UINavigationBar在视图之间切换

我已经回到Hello World教程中尝试做到这一点。 由于某些原因,我似乎无法弄清楚,但是它应该是如此简单。 我想要一个UINavigationBar,在右边有一个按钮。 当用户按下此按钮时,它将通过侧滑动画将其带到第二个视图,并且在此新视图上,导航栏将显示上一个视图的后退按钮。
2回复

在视图之间切换[重复]

这个问题已经在这里有答案 : 在肖像和风景之间切换 (3个答案) 我有两个视图,分别具有纵向和横向视图,在旋转时我想切换视图。但是在加载时它可以正常工作,但在旋转时不起作用。请致电我解决此问题
3回复

iOS:拍照后如何在视图之间切换?

我正在编写一个应用程序,用户可以在图库中选择照片,然后发送到服务器。 这是我的代码 我希望在选择照片后,它将更改为“发送”页面。 但是,它仍然返回主页。 这些行应该在哪里?
1回复

在UITableView中的UITextField单元格之间切换

非常初学者的obj-c问题。 我将TableView分为两个部分http://uaimage.com/image/c6c9ca23 。 在第一部分中,我具有带有UITextField的自定义单元格。 我需要使用附加按钮“ Next”,“ Prev”(在第一部分的文本字段之间切换)和“
5回复

如何在iOS中的隐藏和查看密码之间切换?

有没有一种聪明的方法可以让用户在ios / iphone UITextField中的隐藏和查看密码之间切换,用户可以在其中输入密码,并且可以选择隐藏或查看密码。 提前致谢。
1回复

在xcode中的UIImage的多个图像之间切换

一直在开发应用程序,并且一直在研究此处可用的问题,但是找不到能够解决我的问题的类似方法很幸运。 我有一个包含4张图像的阵列设置,并且每次尝试依次触摸图像时,我都尝试更改为另一幅图像,然后在显示最后一张图像后又返回到第一张图像。 例如:image1“ touch” => imag
3回复

在Xcode 4.0.2和4.2之间切换

我正在使用Xcode 4.0.2和iOS 4.3开发应用程序。 现在,我想升级到Xcode 4.2和iOS 5,以便在10月份发布iOS 5时可以准备好我的应用程序。 苹果网站告诉我,我不应该提交由Xcode 4.2构建的应用程序,而应该使用较早的Xcode 4.0.2,因为Xcode
5回复

在一个UIViewController中的UIView之间切换

我仍在寻找绕过iPhone SDK的方法,我遵循了一些不错的教程,但是我暂时试图找到一些简单的解决方案。 现在,我想敲一个共享相同UIViewController的简单应用。 我已经在Interface Builder中创建了多个视图,并在检查器中为它们赋予了唯一的名称(Identi