2017-01-08 11 views
1

異なるiOSデバイスの範囲でdatePickerの高さを正しく設定するにはどうすればよいですか?ウィンドウの幅から幅を取得できますが、高さでは取得できません。私はあなたがBoundsFrame混乱していると思うUIDatePickerの正しい高さを設定する方法は?

let origin = CGPoint(x: 0, y: 0) 
let width = app_delegate.window!.frame.width 
let size = CGSize(width: width, height: 300) 
let frame = CGRect(origin:origin , size: size) 
birthday.inputView = UIDatePicker(frame: frame) 

答えて

0

は、ここに私のコードです。 Frameは、スーパービューを説明する長方形です。 Boundsはローカル矩形のものです。あなたが使用することができますが、高さは(あなたの例のように)300の最大値になりたい場合は

let screenSize = UIScreen.main.bounds 
let screenWidth = screenSize.width 
let screenHeight = screenSize.height 

あなたは、デバイスの画面の高さと幅をしたい場合は、の境界を使用する必要があります

let height : CGFloat = { 
    if size.height > 300.0 { 
     return 300.0 
    } else { 
     return size.height 
    } 
}() 
+0

私はピッカーの高さがデバイスに適していることを望みます。それがプラス、7またはSEの場合、ピッカーは異なる高さになります。どうすれば正しい最小の高さを得ることができますか? – Aaronium112

+0

私はこの質問を完全に理解していません。 DatePickerのデフォルトの高さは216ポイントです。これは4インチ、4.7インチ、5.5インチのデバイスで同じです。DatePickerの高さを画面の高さの小数部に比例させるには、計算されたvarを使ってフレームの高さを設定します。 .view.bounds.height * some_multiplier – Emptyless

関連する問題