0

我有一個視圖控制器,它是我的主要佈局,它由一個具有5個水平圖像視圖的堆棧視圖組成,當我以縱向模式運行我的應用程序時,沒有任何問題。根據xcode中的屏幕方向使用不同的圖像7.1

但我的問題是,當我把視圖或方向爲橫向圖像視圖不可用,並且圖片不適用於我。我爲橫向模式設計了不同的圖像,我想將不同的圖像設置爲屏幕方向上的圖像視圖,但不知道如何。

我不想創建兩個子視圖,並在其中加載一些用戶針對此問題提出的不同圖像視圖。

任何建議如何做到這一點?

回答

0

可以使用didRotateFromInterfaceOrientation改變圖像值: 覆蓋FUNC didRotateFromInterfaceOrientation(fromInterfaceOrientation:UIInterfaceOrientation){

switch UIDevice.currentDevice().orientation{ 
    case .Portrait: 
     image_1.image = UIImage(named: "image_1") 
    case .PortraitUpsideDown: 
     image_1.image = UIImage(named: "image_1") 
    case .LandscapeLeft: 
     image_1.image = UIImage(named: "image_1_land") 
    case .LandscapeRight: 
     image_1.image = UIImage(named: "image_1_land") 
    default: 
     image_1.image = UIImage(named: "image_1") 
    } 
} 
+0

我會檢查,讓你知道! – anonymox

1

您的問題不是第一個。方向可以通過調用[[UIApplication sharedApplication] statusBarOrientation]找到。您可以更新uiimageview,您想要在代碼uiimge-> imagenamed方法中更新它。他們的兩種方法來檢測在運行方向的變化,

1.Accelerometer

2 [[的UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]。

+0

感謝您的回答,但哪一種方法更實用,準確的? – anonymox

+0

我已經按順序列出了,加速度計更準確,它可以感應所有3軸的方向變化,包括重力。 http://mobileorchard.com/how-to-make-an-iphone-app-part-5-the-accelerometer/ –

+0

定位更改通知通常會延遲發佈。 –