当前位置:  开发笔记 > 编程语言 > 正文

iPhone - UIViewController在设备方向改变时不旋转

如何解决《iPhone-UIViewController在设备方向改变时不旋转》经验,为你挑选了1个好方法。

我有自己的自定义UIViewController,它包含一个带有UIImageView的UIScrollView作为它的子视图.我希望在设备方向改变时使图像自动旋转,但它似乎不起作用......

在头文件中,我有;

@interface MyViewController : UIViewController  {
    IBOutlet UIScrollView   *containerView;
    UIImageView *imageView;
}

这些组件在loadView函数中初始化,如下所示;

    containerView = [[UIScrollView alloc] initWithFrame:frame];

    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://..."]];
    UIImage *image = [[UIImage alloc] initWithData:data];
    imageView = [[UIImageView alloc] initWithImage:image];
    [image release];

    [containerView addSubview:imageView];

我添加了以下方法,假设我需要使视图自动旋转...

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

MyViewController加载了我指定从URL中获取的图像,并且当我翻转设备时,正在调用shouldAutorotate ...函数和正确的UIInterfaceOrientation.

但是,didRotateFromInterfaceOrientation方法没有被调用,并且图像似乎没有自行旋转...有人可以指出我需要添加什么,或者我在这里做错了什么?

提前致谢!



1> lawrence..:

这可能不适合你,因为你没有指定UIViewController的上下文,但我刚刚在Apple文档中发现了一个重要的问题,解释了我遇到的类似问题.

标签栏控制器默认支持纵向方向,除非所有根视图控制器都支持这种方向,否则不要旋转到横向方向.当发生设备方向更改时,选项卡栏控制器将查询其视图控制器数组. 如果其中任何一个不支持方向,则标签栏控制器不会更改其方向.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有