(iphone)autorotation不会改变我的视图大小

时间:2012-03-23 01:31:03

标签: iphone ios ios5

我目前面临的难题是,当我旋转设备时,视图不会改变其大小。视图是嵌入在滚动视图中的imageView。视图控制器嵌入在导航控制器中。这是我的视图控制器的核心代码。

- (void)viewDidLoad
{

    [super viewDidLoad];

    [[self navigationItem] setTitle:self.imageTitle];

    [self.imageView setImage:self.myImage];

    self.scrollView.delegate = self;

    self.scrollView.contentSize = self.imageView.image.size;

    double scale = self.imageView.bounds.size.width * 1.0 / self.myImage.size.width;

    if (scale > self.imageView.bounds.size.height * 1.0 / self.myImage.size.height)
        scale = self.imageView.bounds.size.height * 1.0 / self.myImage.size.height;

    self.imageView.frame = CGRectMake(0, 0, self.imageView.image.size.width,
    self.imageView.image.size.height);

    [self.scrollView setZoomScale:scale];

}

1 个答案:

答案 0 :(得分:3)

通常,有关视图的某些信息不会在viewDidLoad之后更新。

在完成viewDidLoad之前。笔尖未完全加载。因此,您可能无法获得有关它的大小和其他详细信息。

将视图大小查询移至viewWillAppearviewDidAppear应解决此问题。

希望这会对你有所帮助。