旋转横向模式

时间:2010-08-31 10:38:48

标签: iphone

我所做的是在网格模式下显示10个图像,在portroide模式下显示3个图像,我所做的是当我将模拟器旋转到横向然后我必须显示4个图像时。它还使用代码显示

if(self.interfaceorientation == UIIntefaceorientationPortrait) {
[self abc];
else {
[self abclandscape];
}

这里abc和abclandscape是两个功能,它工作得很好但是,它起初工作形式开始如果我旋转到横向模式或纵向模式它工作正常。而在中间如果我从横向旋转到肖像它不会转到[self abc]功能。我怎么能解决这个问题?

2 个答案:

答案 0 :(得分:1)

您可以做的是使用UIViewController委托,或使用NSNoticationCenter I.E.添加“viewDidLoad”:

        [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:)
                                                     name:UIDeviceOrientationDidChangeNotification object:nil];

并添加功能:

- (void)orientationChanged:(NSNotification *)notification
{   
    UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;
    if (UIDeviceOrientationIsLandscape(deviceOrientation))
    {
    // Do one thing
    }
    else 
    {
    // Do something else
    }
}

答案 1 :(得分:0)

@mahesh in shouldAutoRototate Method

      use

     if(self.interfaceorientation == UIIntefaceorientationPortrait||self.interfaceorientation == UIIntefaceorientationPortraitUp..)

{ } 其他 { }