2014-07-04 66 views
2

不知道這是Swift/Xcode6還是iOS問題,但這是我的環境。我有一個iOS Swift地圖應用程序,在iOS模擬器和iPhone設備方面工作正常,但是當我在模擬器或實際設備中使用任何iPad設備時,MapView卡住在1024x768,因此它只使用屏幕的一部分(上右)在iPad上。iPad地圖屏幕分辨率卡住在1024x768

我拋出了屏幕邊界,視圖邊界和視圖邊框的寬度和高度,它們都被設置爲默認值1024x768,所有原點都設置爲0,0。我如何才能使用iPad設備的全屏幕?我認爲屏幕值將根據設備,模擬器或實際設置,我可以重置那些,但我似乎無法弄清楚。還想知道這是否可以在MKMapView的Storyboard中根據比例設置或其他內容進行設置。

所以問題是我如何讓事情行爲和使用全屏iPad設備。

這裏的示例代碼,非常簡單,傾倒了這些價值觀

import UIKit 
import MapKit 

class ViewController: UIViewController, MKMapViewDelegate { 

@IBOutlet var theMapView : MKMapView 

override func viewDidLoad() { 
    super.viewDidLoad() 

    println("myscreen.bounds.width, height = \(UIScreen.mainScreen().bounds.width) \(UIScreen.mainScreen().bounds.height) ") 
    println("self.view.bounds.width, height = \(self.view.bounds.width) \(self.view.bounds.height) ") 
    println("self.view.bounds.origin x,y = \(self.view.bounds.origin.x) \(self.view.bounds.origin.y) ") 
    println("self.view.frame.width, height = \(self.view.frame.width) \(self.view.frame.height) ") 
    println("self.view.frame.origin.x,y = \(self.view.frame.origin.x) \(self.view.frame.origin.y) ") 
} 

,並輸出結果:

myscreen.bounds.width, height = 768.0 1024.0 
self.view.bounds.width, height = 768.0 1024.0 
self.view.bounds.origin x,y = 0.0 0.0 
self.view.frame.width, height = 768.0 1024.0 
self.view.frame.origin.x,y = 0.0 0.0 

Simulator or Device Screenshot

+0

它看起來像一個自動版式的限制問題在故事板中(並且不涉及Swift/MKMapView/Xcode6)。 – Anna

+0

是的,這是......今天學到的另一個教訓,就是需要管理我們對iPad輸出的限制,而不是iPhone。不知道我得到那一個。 – Kokanee

回答

2

從截圖它看起來就像你使用新的通用故事板,以任何/任何模式編輯時放入地圖視圖,而不是設置約束。由於沒有任何約束會告訴地圖視圖堅持其超級視圖的邊緣,因此它仍然是Any/Any Interface Builder畫布的大小。

在故事板中,選擇地圖視圖,然後從右下角的小I型彈出式菜單中選擇重置爲建議約束。

(你打印沒有告訴整個故事,因爲你打印屏幕尺寸和容器視圖大小,但theMapView不是大小的數字。)

+0

這就是訣竅...... TKS。我不明白爲什麼或者它不是默認的。在修復之前和之後的MapView打印輸出和結果保持不變,這讓我更加困惑。iPad前後的結果如下:myscreen.bounds.width,height = 768.0 1024.0 self。 view.bounds.width,height = 768.0 1024.0 self.view.frame.width,height = 768.0 1024.0 self.theMapview.bounds.width,height = 240.0 128.0 self.theMapview.frame.width,height = 240.0 128.0 – Kokanee

+0

我有另一個問題,在我的主程序(而不是這個子集測試),我以某種方式打破了模擬器和設備中的iPhone輸出,因爲它只顯示一個白色畫布而不是地圖。這是在這個修復之前徒勞無功的嘗試在故事板中嘗試不同的東西之後。我在約束上應用了此修復程序,但iPhone輸出保持空白。我沒有看到設備特定輸出應該發揮作用的地方。我張貼在這裏[鏈接到該問題](http://stackoverflow.com/questions/24567419/map-not-showing-on-iphone-simulator-but-does-for-ipad) – Kokanee