2014-06-11 3 views
3

UIScrollViewUITableViewCell에 구현할 때 오류가 발생합니다.컴파일러가 Swift를 사용하는 UIScrollViewDelegate를 좋아하지 않습니다

class MyItemTableViewCell: UITableViewCell, UIScrollViewDelegate { 

... 

var scrollView: UIScrollView = { 
     let scroll = UIScrollView() 
     scroll.showsHorizontalScrollIndicator = false 
     scroll.delegate = self 
     return scroll; 
     }() 

... 

func scrollViewDidScroll(scrollView: UIScrollView!) { 
    ... 
    } 

func scrollViewWillEndDragging(scrollView: UIScrollView!, velocity: CGPoint, targetContentOffset: CMutablePointer<CGPoint>) { 
    ... 
    } 
... 
} 

컴파일러는 Type MyItemTableViewCell does not conform to protocol ‘UIScrollViewDelegate’

이 프로토콜의 메소드는 모든 (https://developer.apple.com/library/prerelease/iOS/documentation/UIKit/Reference/UIScrollViewDelegate_Protocol/index.html) 옵션으로 문서화되어 있다는 사실을 신경 쓰지 말하는 라인 scroll.delegate = self에 나에게 오류를 제공,하지만 난이 구현이 .

컴파일러는 저에게 무엇을 원하십니까? 모든 속성이 초기화 될 때까지 초기화주기 동안

+0

CGPoint를 입력하려면'targetContentOffset'을 변경하십시오. –

+0

@ JackWu : 시도해 봤어 - 행운이 없다. :-( – Joseph

+0

@David : 설명서에 따라 모델을 만들었습니다. https://developer.apple.com/library/prerelease/iOS/documentation/UIKit/Reference/UIScrollViewDelegate_Protocol/index.html#//apple_ref/occ/intfm/UIScrollViewDelegate/scrollViewWillEndDragging : withVelocity : targetContentOffset : – Joseph

답변

3

덕분에, 자기는 사용할 수 없습니다. 그것을 다음으로 변경하십시오 :

class MyItemTableViewCell: UITableViewCell, UIScrollViewDelegate { 

    var scrollView: UIScrollView 

    func scrollViewDidScroll(scrollView: UIScrollView!) { 
    } 

    func scrollViewWillEndDragging(scrollView: UIScrollView!, velocity: CGPoint, inout targetContentOffset: CGPoint) { 
    } 

    init() { 
     scrollView = UIScrollView() 
     scrollView.showsHorizontalScrollIndicator = false 
     super.init(style:UITableViewCellStyle.Default, reuseIdentifier:"cell") 
     scrollView.delegate = self 
    } 
} 
+0

'inout X : T'는'X : CMutablePointer '과 동의어이므로 어느 쪽이든 편한 방법으로 사용하십시오 –

+0

물론! – Joseph

+0

내 ViewController 내에서 func scrollViewDidScroll을 호출 할 수 있습니까? –

관련 문제