2016-10-25 19 views
0

私はiPadとiPhone向けのアプリのグラフを描画しています。 グラフ、軸などがさまざまなデバイスに対して正確に拡大するように、すべてのディメンションをスケールすることができました。 しかし、私は線幅をどのようにスケールするかは分かりません。 だから私が書く場合:異なるデバイスの線幅を設定する方法

context?.setLineWidth(4.0) 

ラインは、iPadのiPhone 5より薄い上、非常に厚い表示されます。より小型のデバイスでより薄く見せたいと思います。

+0

ます。http: //stackoverflow.com/questions/24059327/detect-current-device-with-ui -user-interface-idiom-in-swift? – Larme

+1

デバイスの規模を考慮してください。すなわち、 'UIScreen.mainScreen()。scale'です。 iPad 2のような非網膜デバイスの場合は1.0、iPhone 5のような網膜デバイスの場合は2.0、6プラスと7プラスの場合は3.0など –

+0

1ピクセルラインが必要な場合は、 '1/UIScreen.mainScreen() .scale'。私は実際に 'NSLayoutConstraint'のサブクラスを持っていますので、' constant'をこのように変換します。したがって、私はストーリーボードで正しい値をピクセル_inに設定することができます。 – Sulthan

答えて

1

グラフ切り替えや画面の幅に基づいてのLineWidthとして動的な値は、次のように

を試すiPhone 5

let graphWidth = 320.0 //set screenWidth 
var lineWidth = (graphWidth*(1.5/100)) // here you can change the percentage value 
print("Line Width == > \(Int(lineWidth))") //Line Width == > 4 

iPhone 6

let graphWidth = 375.0 // be dynamic graphWidth = graph width 
var lineWidth = (graphWidth*(1.5/100)) 
print("Line Width == > \(Int(lineWidth))") //Line Width == > 5 
関連する問題