2017-01-10 5 views
0

私はIOS 10の新しい就寝時間機能のような目覚まし時計を書こうとしていますが、私はかなりSwiftを初めて使っています。私は2人のUISlidersを持っています。ひとりはいつ眠るのか、もうひとつは目が覚めるのです。私の質問は:どのように私は2つのUISlidersを組み合わせることができますか?どうすれば数分と数えられるのですか?スライダにグリッド線や停止点を設定することは可能ですか?私の考えは0.12の増分を持つことで、値が0.60に達するたびに、1時間と "..."分としてカウントします。スイフト3:スライダを使って時間を表示する

EDIT:追加画像とコード

import UIKit 
class ViewController: UIViewController { 
    @IBOutlet weak var sleepTime: UISlider! 
    @IBOutlet weak var displaySleep: UITextField! 
    var sliderValue1 = 12 
    var sliderValue2 = 12 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 
    @IBAction func slider1Changed(_ sender: UISlider!) { 
     var currentValue1 = Int(sender.value) 
     displaySleep.text = "\(sliderValue2 - currentValue1) hours of sleep" 
    } 
    @IBAction func slider2Changed(_ sender: UISlider!) { 
     var currentValue2 = Int(sender.value) 
     displaySleep.text = "\(currentValue2 - sliderValue1) hours of sleep" 
    } 
    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 
} 

enter image description here

答えて

1

あなたの最初の質問に答えるために。

Segmented Controlを使用して2つのスライダを組み合わせることができます。ユーザーが「Sleep」または「Wake Up」を選択すると、実装時にSliderの値が変更されます。

コントロールクリックして、セグメント化されたコントロールからView Controllerクラスにドラッグして、IBAction接続を作成します。タイプをUISegmentedControlに変更してください。

@IBAction func onControlChanged(_ sender: UISegmentedControl) { 
    switch sender.selectedSegmentIndex { 
    case 0: // Sleep selected 
     // Update Slider 
     break 

    case 1: // Wake Up selected 
     // Update Slider 
     break 

    default: 
     break 
    } 
    } 

enter image description here

関連する問題