我目前面临的难题是,当我旋转设备时,视图不会改变其大小。视图是嵌入在滚动视图中的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];
}
答案 0 :(得分:3)
通常,有关视图的某些信息不会在viewDidLoad之后更新。
在完成viewDidLoad之前。笔尖未完全加载。因此,您可能无法获得有关它的大小和其他详细信息。
将视图大小查询移至viewWillAppear
或viewDidAppear
应解决此问题。
希望这会对你有所帮助。