Objective-Cでは、次のコードを使用してデバイスの幅と高さを取得できます。
CGRect sizeRect = [UIScreen mainScreen].applicationFrame
float width = sizeRect.size.width
float height = sizeRect.size.height
Swiftを使用してこれを行う方法
私は試していませんが、そうすべきです。
var bounds = UIScreen.main.bounds
var width = bounds.size.width
var height = bounds.size.height
@Houssniの答えは正しいですが、私たちはSwiftを話しているので、このユースケースは頻繁に出てくるので、これに似たCGRect
を拡張することを検討できます。
extension CGRect {
var wh: (w: CGFloat, h: CGFloat) {
return (size.width, size.height)
}
}
その後、次のように使用できます。
let (width, height) = UIScreen.mainScreen().applicationFrame.wh
やった! :)
Swift 4.2
let screenBounds = UIScreen.main.bounds
let width = screenBounds.width
let height = screenBounds.height
コードで使用する場合。どうぞ。
func iPhoneScreenSizes(){
let bounds = UIScreen.mainScreen().bounds
let height = bounds.size.height
switch height {
case 480.0:
print("iPhone 3,4")
case 568.0:
print("iPhone 5")
case 667.0:
print("iPhone 6")
case 736.0:
print("iPhone 6+")
default:
print("not an iPhone")
}
}
var sizeRect = UIScreen.mainScreen().applicationFrame
var width = sizeRect.size.width
var height = sizeRect.size.height
まさにこのように、それもテストしました。
(Swift 3)ほとんどの幅と高さの値は、デバイスの現在の向きに基づいていることに注意してください。回転に基づかない一貫した値が必要で、ポートレートアップ回転のように結果が得られる場合は、fixedCoordinateSpaceを試してください。
let screenSize = UIScreen.main.fixedCoordinateSpace.bounds
デバイスの画面サイズを探しているので、最も簡単な方法は次のとおりです。
let screenSize = UIScreen.mainScreen().bounds.size
let width = screenSize.width
let height = screenSize.height
@Adam Smakaの答えは近かったが、Swift 3では次のようになる。
let screenBounds = UIScreen.main.bounds
let width = screenBounds.width
let height = screenBounds.height
UIScreenオブジェクトは、ハードウェアベースのディスプレイに関連付けられたプロパティを定義します。 iOSデバイスには、メイン画面と0個以上の接続画面があります。各画面オブジェクトは、関連付けられたディスプレイおよびその他の興味深いプロパティの境界矩形を定義します
Apple Doc URL:
https://developer.Apple.com/reference/uikit/uiwindow/1621597-screen
Swift 3.0でurユーザーのデバイスの高さ/幅を取得するには
let screenHeight = UIScreen.main.bounds.height
let screenWidth = UIScreen.main.bounds.width
Swift 4では、NSScreen.main?.deviceDescriptionを使用する必要がありました
let deviceDescription = NSScreen.main?.deviceDescription let screenSize = deviceDescription![.size] let screenHeight = (screenSize as! NSSize).height