2016-07-16 1 views
0

나는이 두 개의 버튼을 가지고 있습니다. 왼쪽의 버튼을 누르면 슬라이더를 왼쪽으로 천천히 움직이고 오른쪽 버튼을 누르면 슬라이더가 끝까지 움직입니다. 권리. 지금 가지고있는 코드는 슬라이더를 정말 빨리 움직이고 점차적으로 사용하기를 원합니다.버튼 하나만 누르면 UISlider를 왼쪽이나 오른쪽으로 천천히 어떻게 움직일 수 있습니까?

override func didMoveToView(view: SKView) { 

     middleSlider = UISlider(frame: CGRectMake(self.view!.bounds.width/2 - 150/2, self.view!.bounds.height/2 * 1.7, 150, 50)) 
     middleSlider.tintColor = UIColor.whiteColor() 
     middleSlider.minimumTrackTintColor = UIColor.whiteColor() 
     middleSlider.maximumTrackTintColor = UIColor.whiteColor() 
     middleSlider.setThumbImage(UIImage(named: "mixerb1"), forState: UIControlState.Normal) 
     middleSlider.maximumValue = 2.0 
     middleSlider.minimumValue = 0.0 
     middleSlider.value = 1.0 
     middleSlider.continuous = true 
     middleSlider.userInteractionEnabled = true 
     middleSlider.addTarget(self, action: #selector(middleSliderChangeAudio), forControlEvents: UIControlEvents.AllEvents) 
     self.view?.addSubview(middleSlider) 

} 


override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 
     let location = touch.locationInNode(self) 
     let node = self.nodeAtPoint(location) 


     if node.name == "left" { 
     print("slider moves to left") 

     UIView.animateWithDuration(10.0, animations: { 
      self.middleSlider.value = self.middleSlider.minimumValue 
      self.middleSlider.continuous = true 
     } 
    ) 
} 


    if node.name == "right" { 
    print("slider moves to right") 

     UIView.animateWithDuration(10.0, animations: { 
      self.middleSlider.value = self.middleSlider.maximumValue 
      self.middleSlider.continuous = true 
      } 
     ) 
    } 
} 
+1

문제는 'self.middleSlider.value'는 애니메이션 가능한 속성이 아니므로 애니메이션을 전혀 얻지 못하고 있다는 것입니다. – matt

+0

무엇을 사용해야합니까? – coding22

+0

내 대답을 확인하십시오 – Happiehappie

답변

4

여기서 setValue (_ : animated :) 메소드를 사용하십시오. Documentation. 어떻게되는지 알려주세요.

일단 이것을 추가했다면 다음과 같은 기간으로 애니메이션에 넣으십시오. 10 초는 하드 코딩 된 값이며, 원하는대로 지속 시간을 변경합니다. 설정하려는 값도 동일합니다.

위로 이동하면서 속성 값에 대한 설명서를 확인하십시오. 그래서 당신은 무슨 일이 일어나고 있는지 더 잘 이해할 수 있습니다.

+0

문제는 속도를 설정할 수 없다는 것과 아무 문제가 있다는 것입니다. – matt

+0

그런 다음 duration()을 사용하여 애니메이션으로 둘러 쌉니다. Xcode 7.3에서 완벽하게 작동하는지 테스트했습니다. – Happiehappie

+0

알았어, 정정되었고 투표 할 수 있습니다! – matt

관련 문제