2016-12-11 13 views
-2

私はCGFloataを持ち、CGFloatbが必要です。Swift 3でCGFloatを反転させる方法は?

aが0の場合、bを100にする必要があります。aが1の場合は、bが99となる必要があります。

私は今思い付いた唯一の解決策は、以下のような関数である:

func turn(_ a: CGFloat) -> CGFloat { 
    switch a { 
    case 0: 
     return 100 
    case 1: 
     return 99 
    case 2: 
     return 98 
    case 3: 
     return 97 
    case 4: 
     return 96 
    case 5: 
     return 95 
    case 6: 
     return 94 
    case 7: 
     return 93 
    case 8: 
     return 92 
    case 9: 
     return 91 
    case 10: 
     return 90 

しかしa)の非常識が100台のフロートのために書くことということであり、b)、私はアニメーションのためにそれを必要とし、私はaUITableView.offset浮動小数点数で受け取るので、階段は小数点以下の桁数であるため、bも小数点以下の刻みで(アニメーションを滑らかにする)必要があります。

アイデア?ヘルプは非常に感謝しています。

+3

これはNiravの答えで見られるような些細な数学の問題です。 – rmaddy

+0

私は何を言うことができます。私は今2時間それについて考えていましたが、私はそれを考え出しませんでした... –

答えて

1

これは単純にこのようです。

let invert: CGFloat = 100 
let a: CGFloat = 0 
let b = invert - a 

または単に

let b = 100 - a 
+2

それはかなり恥ずかしいです... 2時間で私は最も簡単な数学ではなかった...ありがとう –

関連する問題