質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

1765閲覧

SwiftでUISliderを用いてグラデーションを表現するには

tomi_nil

総合スコア7

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2016/11/19 01:53

UISliderの最小値が10、最大値が50に設定されていて、
値が10ではtextcolorを赤、20では黄、30では白、40では緑、50では青になるようにし、
スライダーを動かした時に色の変化を滑らかに、例えばグラデーションのように表現するにはどうすればいいでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

各区間ごとに両端の色からスライダーの値によって割合でrgb値を求めればいいです。
(と、書いている本人もやや意味不明)

例えば、40~50の場合、両端の色は、

  • 40 = 緑 (r:0.0, g:1.0, b:0.0)
  • 50 = 青 (r:0.0, g:0.0, b:1.0)

スライダーの値valueが40 → 50と変化するに従って、

  • r = 0.0 → 0.0
  • g = 1.0 → 0.0
  • b = 0.0 → 1.0

と変化させればいいです。

スライダーの位置を割合にするには、

swift

1let ratio = (value - 40) / (50 - 40)

これで、ratioには0.0~1.0の値が入ります。

(ちょっと休憩)

投稿2016/11/21 05:39

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問