2014-02-18 2 views
0

현재 프로젝트에서 사용자에게 표시되는 목표 값과 관련하여 UISlider의 위치를 ​​활용하는 앱을 만들었습니다. 나는 전체 기능을 가지고 있지만 지금은 약간 위로 양념을 치려고합니다.UISlider가 자체적으로 앞뒤로 움직이기.

사용자가 앱을 드래그하지 않고 입력 할 때 UISlider가 자체적으로 (최소부터 최대까지) 이동 (최소부터 최대까지)하도록 설정할 수 있습니까?

생각 :

아마도 루핑 시퀀스를 사용할 수 있습니까?

나를 위해이 코드를 작성할 사람을 찾고 있지 않다. 나는 그 부분을 매우 좋아한다. 그냥 지침을 찾고.

- (void)setValue:(float)value animated:(BOOL)animated 

, 당신은 메인 스레드를 차단 앱이 응답하게하고 싶지 않아하지만 루프를 사용하는 방법에 대한주의 :

답변

0

NSTimer 대답 이외에, 나는 그것을 사용하지 말 것이지만, 대신 CADisplayLink. 비슷한 과정이지만 NSTimer를 사용하는 대신 CADisplayLink를 사용하십시오.

CADisplayLink는 화면 새로 고침 빈도와 동기화되므로 현재 프레임을 기준으로 애니메이션과 슬라이더 값을 조정할 수 있으므로 애니메이션이 부드럽게 나타납니다.

http://patzearfoss.com/2011/09/02/more-cadisplaylink/

0

UISlider는 프로그래밍 방식 슬라이더의 값을 변경할 수 있습니다 this method 있습니다.

Trumpetlick's answer은 NSTimer 사용에 대한 유용한 정보를 제공하므로 도움이 될 것입니다.

+0

실무 담당자가 찾고있는 실제 조치는 제공되지 않습니다. 또한 사용자가 실제로 슬라이더를 사용할 때 실행되는 액션 코드 (대부분)를 실행할 수 있어야하지만 setValue는 실제 슬라이더 자체의 값을 설정하는 데 사용하려는 코드입니다. – trumpetlicks

+0

사용자가 슬라이더를 드래그하지 않아도되는 것처럼 들리 네요. – connor

+0

당신은 좋은 지적을 가지고 있습니다. 나는 그/그녀가 그 밖의 무엇을 원한다는 것을 우리가 알기에 충분한 세부 사항을 제공하지 않았다고 생각합니다. 내가 궁금하게 생각하는 유일한 이유는 사용자가 상호 작용하기를 원하지 않는다면 왜 그/그녀는 디자인에 슬라이더를 사용하고, 할 때 어떤 행동을 취할 것인가? 모든 것은 그가 실제로 LOL을하고자하는 것에 달려 있습니다. – trumpetlicks

0

이 경우에는 프레임 당 원하는 시간으로 NSTimer를 설정하고 슬라이더 내의 작업 코드를 호출 할 수있는 루틴으로 분리 한 다음 타이머 작업 코드 , 루틴을 호출 한 다음 슬라이더 위치를 수동으로 설정하십시오.

는 NSTimer는 설정에 여러분이 원하는 프레임 속도를 당신을 허용, 메인 스레드의 해제를 유지 본질적 것 NSTimer

How do I use NSTimer?

를 설정 여기를보세요.

관련 문제