0
여러 요소 (텍스트보기, 라벨, 이미지보기 등)가있는 스크롤보기가 있습니다. 스크롤 할 때 내 라벨이 화면에 나타나면 uiview를 표시해야합니다.SWIFT에서 라벨이 나타날 때 감지합니다.
어떻게하면됩니까?
여러 요소 (텍스트보기, 라벨, 이미지보기 등)가있는 스크롤보기가 있습니다. 스크롤 할 때 내 라벨이 화면에 나타나면 uiview를 표시해야합니다.SWIFT에서 라벨이 나타날 때 감지합니다.
어떻게하면됩니까?
보기 컨트롤러가 스크롤보기 대리인인지 확인하십시오. scrollViewDidScroll
메서드를 구현하고 contentOffset에 의해 오프셋 된 스크롤 뷰의 프레임이 레이블의 프레임과 겹치는 지 확인합니다.
func scrollViewDidScroll(scrollView: UIScrollView) {
let offset = self.scrollView.contentOffset
let onScreen = CGRectOffset(self.scrollView.frame, offset.x, offset.y)
if CGRectIntersectsRect(onScreen, self.label.frame) {
NSLog("Overlap")
}
}
당신이 라벨이 화면에 완전히 때 감지 할 경우, CGRectContainsRect
대신 CGRectIntersectsRect
사용합니다.