如何在Swift中以横向模式更改图标的旋转?

时间:2016-08-04 06:11:11

标签: ios swift orientation

目前我的应用程序在纵向模式下看起来像这样: enter image description here

但是当我的iPad处于横向模式时,我希望我的图标看起来像这样: enter image description here

到目前为止,在横向模式下看起来像这样:

enter image description here

我知道如何旋转图标,但我不知道在哪里粘贴代码。我只想在横向模式下查看我的应用程序,如第二张照片。

  

修改

应该看起来像这样: enter image description here

4 个答案:

答案 0 :(得分:3)

您需要在代码

之后使用NSNotificationCenter设置观察者
$(".Analysis").data("kendoTreeView").dataSource.data(result);

在AppDelegate didFinishedLaunching 方法。

用观察者方法检查方向

NSNotificationCenter.defaultCenter().addObserver(self, selector: "deviceOrientationChnaged", name: UIDeviceOrientationDidChangeNotification, object: nil)

答案 1 :(得分:1)

您需要在横向模式下将yourimageview旋转90度 -

在我放的"didFinishLaunchingWithOptions"函数中的AppDelegate.swift中:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "rotated", name: UIDeviceOrientationDidChangeNotification, object: nil)

然后在AppDelegate类中我放了以下函数:

     func rotated()
        {
            if(UIDeviceOrientationIsLandscape(UIDevice.currentDevice().orientation))
            {            
                print("landscape")
             //Rotate 90 degrees clockwise:        
               yourimageview1.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_2))         
            //Rotate 90 degrees counterclockwise:        
             yourimageview2.transform = CGAffineTransformMakeRotation(CGFloat(-M_PI_2))
            }
            if(UIDeviceOrientationIsPortrait(UIDevice.currentDevice().orientation))
            {
                print("Portrait")
            }

        }

希望这有助于其他任何人!

答案 2 :(得分:1)

如果Assets等于或大于deployment target,您应该从8.0进行管理。您可以为不同大小的类别设置不同的图像。例如,对于iphone中的纵向模式,您可以为Compact width Regular Height尺寸等级设置assset,对于风景中的iphone,您可以为Any width Compact Height尺寸等级设置资源。

请参阅Customizing Assets for Size Classes

的Apple文档

答案 3 :(得分:0)

ViewController.m

中尝试以下操作
-(void)viewDidLoad
{
   NSNotificationCenter.defaultCenter().addObserver(self, selector: "deviceOrientationChnaged", name: UIDeviceOrientationDidChangeNotification, object: nil)
}


- (void) deviceOrientationChnaged:(NSNotification *) notification
{
    if(UIDeviceOrientationIsLandscape(UIDevice.currentDevice().orientation))
    {            
        print("landscape")
       yourimageview.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_2))

      //OR Rotate 90 degrees counterclockwise:

       yourimageview.transform = CGAffineTransformMakeRotation(CGFloat(-M_PI_2))

    }

    if(UIDeviceOrientationIsPortrait(UIDevice.currentDevice().orientation))
    {
        print("Portrait")
    }
}

希望这会有所帮助。

修改

请检查我的这个问题:LINK