iPad方向问题
Posted
技术标签:
【中文标题】iPad方向问题【英文标题】:iPad orientation problem 【发布时间】:2010-12-22 13:50:15 【问题描述】:我从一个有 2 个视图(firstviewcontroller 和 secondviewcontroller)的 tabbar 应用程序开始。第二个视图控制器没有背景图像,但第一个有。
我有两张图片,一张是纵向的,一张是横向的。我想做的就是在方向改变时加载背景图像。我想支持所有方向。
这是我的 viewdidload 方法
-(void)viewDidLoad
imgview=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bgportrait.png"]];
[imgview setFrame:CGRectMake(0, 0, 768, 1024)];
[self.view addSubview:imgview];
[self.view sendSubviewToBack:imgview];
[imgview release];
(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation NSLog(@"in shouldrotate"); 返回是;
(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
if (toInterfaceOrientation == (UIInterfaceOrientationPortrait || UIInterfaceOrientationPortraitUpsideDown))
NSLog(@"in portrait");
else if (toInterfaceOrientation == (UIInterfaceOrientationLandscapeLeft || UIInterfaceOrientationLandscapeRight))
NSLog(@"in landscape");
在 willRotateToInterfaceOrientation 中它永远不会进入任何 if 循环并且它不会打印日志,我不确定为什么它的方向与它们中的任何一个都不匹配。我只想为 firstviewcontroller 设置适当的背景图像。我知道它应该很简单,但我无法做到。
【问题讨论】:
请格式化您的代码。在编辑您的问题时,编辑器上方有一个
符号,它将适当地格式化您的代码。
【参考方案1】:
像这样检查你的状况
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
if(toInterfaceOrientation==UIInterfaceOrientationPortrait ||
toInterfaceOrientation==UIInterfaceOrientationPortraitUpsideDown)
NSLog(@"in portrait");
else
NSLog(@"in landscape");
【讨论】:
是的,现在它进入了 if 循环。现在我做到了以上是关于iPad方向问题的主要内容,如果未能解决你的问题,请参考以下文章