2014-07-04 2 views
2

Swift/Xcode6 또는 iOS 질문이 맞는지 확실하지 않지만 제 환경입니다. iOS 시뮬레이터와 iPhone 기기 측면에서 잘 작동하는 iOS Swift지도 앱이 있지만 시뮬레이터 나 실제 기기에서 iPad 기기를 사용할 때 MapView는 1024x768에 고정되어 화면의 일부만 사용합니다 (상단 오른쪽).iPad지도 화면 해상도가 1024x768로 고정되었습니다.

화면 경계,보기 경계 및보기 프레임 너비와 높이를 버려두고 기본값은 모두 1024x768로 설정되고 모든 원점은 0,0으로 설정됩니다. iPad 기기의 전체 화면을 활용하려면 어떻게해야합니까? 나는 화면 값이 장치, 시뮬레이터 또는 실제에 따라 설정 될 것이라고 생각하고 그 값을 재설정 할 수는 있지만 알아낼 수는 없다. 또한 이것이 MKMapView의 스토리 보드에서 스케일 설정이나 무언가로 설정 될 수 있는지 궁금합니다.

그래서 문제는 어떻게 행동하고 iPad 장치의 전체 화면을 사용합니까?

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

네, 아이폰이 아니라 아이 패드 용 상자의 제약을 관리해야한다는 필요성에 대해 또 다른 교훈을 얻었습니다. 내가 그걸 얻을 수 있는지 모르겠다. – Kokanee

답변

2

당신이했습니다 다음과 같습니다 여기

이 값

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) ") 
} 

출력 결과를 덤프하기 위해 샘플 코드, 매우 간단이야 새로운 범용 스토리 보드를 사용하고, Any/Any 모드로 편집하는 동안 맵보기에 넣고 제약 조건을 설정하지 않았습니다. 지도 뷰가 수퍼 뷰의 가장자리에 고정되도록하는 제약 조건이 없기 때문에 Any/Any Interface Builder 캔버스의 크기가 그대로 유지됩니다.

스토리 보드에서지도보기를 선택하고 오른쪽 하단에있는 작은 I 빔 팝업 메뉴에서 제안 된 제한으로 재설정을 선택하십시오.

(화면 크기와 컨테이너 뷰의 크기,하지만 theMapView 아닌 크기를 인쇄하고 있기 때문에 당신이 전체 이야기를하지 않는 인쇄하고 숫자.) 그것은이 자동 레이아웃 제약 문제처럼 보인다

+0

그 트릭은 ... TKS. 나는 이유를 이해하지 못하거나 기본적으로 그런식이 아닙니다. 수정 전과 후에 결과가 같은 결과를 낳았습니다. 이전과 이후의 결과는 다음과 같습니다 : 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 출력은 공백으로 남습니다. 기기 별 출력이 재생되는 곳은 어디에도 없습니다. 나는 그 문제에 대한 링크를 여기에 올렸다. (http://stackoverflow.com/questions/24567419/map-not-showing-on-iphone-simulator-but-does-for-ipad) – Kokanee