iPad地图屏幕分辨率停留在1024x768

时间:2014-07-04 15:58:14

标签: swift xcode6

不确定这是Swift / Xcode6还是iOS问题,但那是我的环境。我有一个iOS Swift地图应用程序,在iOS模拟器和iPhone设备方面工作正常但是当我在模拟器或实际设备中使用任何iPad设备时,MapView卡在1024x768,因此它只使用屏幕的一部分(上层)在iPad上。

我抛弃了屏幕边界,视图边界和视图框架宽度和高度,它们都设置为此默认值1024x768,所有原点设置为0,0。如何使用iPad设备的全屏?我认为屏幕值将根据设备,模拟器或真实设置,我可以重置那些,但我似乎无法搞清楚。还想知道这是否可以在MKMapView的故事板中根据比例设置等设置。

所以问题是如何让事情表现出来并为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

1 个答案:

答案 0 :(得分:2)

从屏幕截图中看起来您已经使用了新的通用故事板,在Any / Any模式下进行编辑时放入地图视图,而不是设置约束。因为没有约束告诉地图视图坚持其超级视图的边缘,所以它仍然是Any / Any Interface Builder画布的大小。

在故事板中,选择地图视图,然后从右下角的小工具栏弹出菜单中选择重置为建议约束。

(您打印的数字并不能说明整个故事,因为您正在打印屏幕大小和容器视图大小,而不是theMapView的大小。)< / p>