问题如标题,刚开始学习IOS开发。现在在做一个支持屏幕翻转的程序,主要代码如下:
-(void)viewWillAppear:(BOOL)animated{
[superviewWillAppear:animated];
[selfshowScrollView]; //显示ScrollView
}
-(void)showScrollView{
//分横屏和竖屏为ScrollView添加内容
if (self.view.bounds.size.width<self.view.bounds.size.height) {
orient = 1;//shu
[self vertical];
}elseif(self.view.bounds.size.width>self.view.bounds.size.height){
orient =0;//heng
[selfhorizontal];
}
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[selfshowScrollView];
}
当初始化的时候和屏幕旋转的时候都调用showScrollView。屏幕旋转的时候没有问题,模拟器初始化为竖屏的时候也没有问题。当模拟器是横屏的时候showScrollView中屏幕的大小还是竖屏的尺寸,就是因为这样程序出错了。
刚开始学习,不知道如何判断模拟器初始化时候的屏幕,留给以后解决。希望看得的大牛们可以帮帮忙!
现在已经知道有种方法可以解决了,把self.view.bounds.size.width<self.view.bounds.size.height改为
self.interfaceOrientation == UIInterfaceOrientationPortrait | self.interfaceOrientation==UIInterfaceOrientationPortraitUpsideDown就可以了。