2011-05-13 30 views
0

我正在使用xCode 4作为我的项目,它应该可以在iPad和iPhone上使用。所以,我创建了基于通用窗口的应用程序。我想我的应用程序开始进入横向模式,所以我补充如下: 的方法:Xcode 4组件方向问题

shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

我设置interfaceOrientation == UIInterfaceOrientationLandscapeRight 并添加钥匙插进application.plist: Initial Interface Orientation,并设置景观(右home键)。

现在,应用程序确实以横向模式启动,但其中的每个组件(按钮,标签)仍然旋转90度(逆时针)。 当我加载xib时,窗口方向设置为纵向,下拉禁用。 有人有想法我做错了什么?

回答

0

shouldAutorotateToInterfaceOrientation不要求您设置变量(并且即使您这样做也无法读取结果),这是查询提名方向是否可接受的问题。所以你想:

- (BOOL)shouldAutorotateToInterfaceOrientation: 
            (UIInterfaceOrientation)interfaceOrientation 
{ 
    if(interfaceOrientation == UIInterfaceOrientationLandscapeRight) return YES; 
    return NO; 
} 

/* or: return interfaceOrientation == UIInterfaceOrientationLandscapeRight; */ 

该XIB是一个单独的问题; Interface Builder及其替代部件在Xcode 4中都不能看到你在代码中做了什么,所以他们不应该拒绝让你在横向模式下进行设计。但是,它是与相关UIViewController的视图成员关联的视图,您要设置方向,而不是窗口。