2017-01-10 1 views
0

IOS 10의 새로운 취침 시간과 같은 알람 시계를 쓰려고하는데 스위프트에 대해 상당히 새로운 것입니다. 나는 2 명의 UISliders를 가지고있다. 하나는 잠을 자고 다른 하나는 깨울 때이다. 내 질문은 : 어떻게 두 UISliders를 결합 할 수 있습니까? 몇 분이나 몇 시간을 어떻게 계산할 수 있습니까? 슬라이더에 눈금 선 및 정지 점이있을 수 있습니까? 내 생각은 0.12의 증분을 갖는 것이며, 값이 0.60에 도달 할 때마다 1 시간 및 "..."분으로 계산합니다.스위프트 3 : 슬라이더를 사용하여 시간 표시

편집 : 추가 된 이미지와 코드

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을 사용하여 두 개의 슬라이더를 결합 할 수 있습니다. 사용자가 "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