如何使用视图旋转信息按钮?

时间:2010-02-02 14:08:44

标签: iphone sdk orientation landscape

我只是想编写一个基于视图的应用程序,它只使用横向方向。

使用此代码:

application.statusBarOrientation = UIInterfaceOrientationLandscapeRight;

applicationDidFinishedLaunching方法中,应用程序以横向方式启动。

问题是,如果我在InterfaceBuilder中创建一个横向视图,视图就不会像我创建的那样显示...我需要以纵向模式创建视图,并想象它在它处于何处时的外观肖像模式(希望你理解我的意思?) - 我插入已旋转的图像。 所以,我现在一切正常,但InfoButton不会旋转(如其他按钮,但其他按钮已经旋转了图像)......

我的错是什么?如何告诉应用程序使用我在横向设计中设置的视图?

非常感谢。

问候

2 个答案:

答案 0 :(得分:0)

您可能需要根据方向旋转视图(按钮):

UIInterfaceOrientation orientation = [UIDevice currentDevice].orientation;
CGAffineTransform transform;
switch (orientation) {
    case UIDeviceOrientationPortrait:
        transform = CGAffineTransformIdentity;
        break;
    case UIDeviceOrientationPortraitUpsideDown:
        transform = CGAffineTransformMakeRotation(180*M_PI/180);
        break;
    case UIDeviceOrientationLandscapeLeft:
        transform = CGAffineTransformMakeRotation(90*M_PI/180);
        break;
    case UIDeviceOrientationLandscapeRight:
        transform = CGAffineTransformMakeRotation(-90.0*M_PI/180);
        break;
    default:
        transform = CGAffineTransformIdentity;
        break;
}
[[myView layer] setAffineTransform:transform];

答案 1 :(得分:0)

您无需在纵向模式下创建视图,并想象它在纵向模式下的外观。只需要在所需模式下创建视图,然后将项目设置设置为所需模式。在左侧视图的Xcode中,您可以看到Project Navigator点击项目名称的蓝色图标。现在在中间视图(编辑器视图)上,您可以看到summary标签,在此标签上设置iPhone Development Orientations上所需的模式。