我有一個視圖控制器,它是我的主要佈局,它由一個具有5個水平圖像視圖的堆棧視圖組成,當我以縱向模式運行我的應用程序時,沒有任何問題。根據xcode中的屏幕方向使用不同的圖像7.1
但我的問題是,當我把視圖或方向爲橫向圖像視圖不可用,並且圖片不適用於我。我爲橫向模式設計了不同的圖像,我想將不同的圖像設置爲屏幕方向上的圖像視圖,但不知道如何。
我不想創建兩個子視圖,並在其中加載一些用戶針對此問題提出的不同圖像視圖。
任何建議如何做到這一點?
我有一個視圖控制器,它是我的主要佈局,它由一個具有5個水平圖像視圖的堆棧視圖組成,當我以縱向模式運行我的應用程序時,沒有任何問題。根據xcode中的屏幕方向使用不同的圖像7.1
但我的問題是,當我把視圖或方向爲橫向圖像視圖不可用,並且圖片不適用於我。我爲橫向模式設計了不同的圖像,我想將不同的圖像設置爲屏幕方向上的圖像視圖,但不知道如何。
我不想創建兩個子視圖,並在其中加載一些用戶針對此問題提出的不同圖像視圖。
任何建議如何做到這一點?
可以使用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")
}
}
您的問題不是第一個。方向可以通過調用[[UIApplication sharedApplication] statusBarOrientation]找到。您可以更新uiimageview,您想要在代碼uiimge-> imagenamed方法中更新它。他們的兩種方法來檢測在運行方向的變化,
1.Accelerometer
2 [[的UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]。
感謝您的回答,但哪一種方法更實用,準確的? – anonymox
我已經按順序列出了,加速度計更準確,它可以感應所有3軸的方向變化,包括重力。 http://mobileorchard.com/how-to-make-an-iphone-app-part-5-the-accelerometer/ –
定位更改通知通常會延遲發佈。 –
我會檢查,讓你知道! – anonymox