2017-03-25 2 views
0

나는이 같은 클래스의 UISlider 개체가 발사되지 변경되었습니다. 내 View Controller에서 슬라이더를보고 상호 작용할 수 있지만 슬라이더를 문질러서는 valChange 함수가 호출되지 않습니다.UISlider 값은

+0

getView 구현을 보여주세요. –

답변

2

당신은 다른 하나 개의 클래스에서 메소드를 호출한다. 이 참조는 해당 메소드가 종료 될 때 해제 될 로컬 변수에서 작성됩니다. 그것은 잘못된 개체에 대한 함수를 호출하려고 시도합니다. 대리자 사용 - 메서드에 대한 프로토콜을 정의하고 뷰 컨트롤러에서 해당 프로토콜을 구현하도록합니다. 그런 다음 뷰 컨트롤러를 메서드에 전달할 수 있습니다.

+0

실제로 이것은 의미가 있습니다. 슬라이더 로직을 SliderObject에 캡슐화하려고합니다. 내 VC에서 대리인을 구현하는 것에 대해 말한 것은 의미가 있지만 그 주위에 방법이 있습니까? – 7ball

+0

답변 찾기 : VC에서 'SliderObject'에 대한 강력한 참조를 유지하면 작동합니다! 이것을 지적 해 주셔서 감사합니다. 당신이 더 우아한 해결책을 가지고 있다면, 나는 모든 귀입니다. – 7ball

1

코드 아래에 추가 : -

// As the slider moves it will continuously call the -valChange: 
slider.continuous = true; // false makes it call only once you let go 
slider.addTarget(self, action: "valChange:", forControlEvents: .ValueChanged) 
+0

그래도 시도해 봤는데 ... 아니 주사위 .. 문제는 전혀 호출되지 않는 것입니다. 한 번 가보거나 계속합니다. – 7ball

+0

getView 구현을 공유 할 수 있습니까? – iAviator

+0

업데이트 - 펜촉으로 슬라이더를 구현했습니다. – 7ball