2014-06-17 5 views
0

스위프트에서 스크롤보기를 만들었습니다. 그것은 수평이고 "튜토리얼"페이지 용입니다. 객체가 잘 나타납니다. 그것은 잘 스크롤합니다. 페이지가 있습니다. 그러나 나는 페이지가 현재 페이지를 UIPageControl에 보여주기를 원한다. 이것은 내 전체 코드입니다. 현재 페이지 컨트롤은 페이지 컨트롤의 특정 방향을 스 와이프하면 작동합니다. 그것은 그것을 바꿉니다. 아니요 화면에서 개체를 이동합니다. 스크롤 뷰는 스크롤하지만 UIPageControl은 변경하지 않습니다.scrollview 및 pageconrol을 사용 하시겠습니까?

코드 :

var tutorialScrollView = UIScrollView() 
var pageCounterForScrollView = UIPageControl() 
tutorialScrollView.pagingEnabled = true 
tutorialScrollView.bounces = true 
tutorialScrollView.frame = CGRectMake(0, 0, 320, 568) 
tutorialScrollView.userInteractionEnabled = true 
tutorialScrollView.contentSize = CGSizeMake(1280, 568) 
tutorialScrollView.showsHorizontalScrollIndicator = false 

pageCounterForScrollView.numberOfPages = 3 
pageCounterForScrollView.frame = CGRectMake(0, 0, 500, 100) 
pageCounterForScrollView.center = CGPointMake(160, 528) 
self.view.addSubview(scrollViewBGView) 
self.view.addSubview(tutorialScrollView) 
self.view.addSubview(pageCounterForScrollView) 
self.tutorialScrollView.addSubview(reactFastSVLabel) 
self.tutorialScrollView.addSubview(changingDotSVView) 
self.tutorialScrollView.addSubview(learnPlaySVLabel) 
self.tutorialScrollView.addSubview(simpleSVLabel) 
self.tutorialScrollView.addSubview(oneColorSVImageView) 
self.tutorialScrollView.addSubview(justDoThisSVLabel) 

func scrollViewDidEndDecelerating(scrollView: UIScrollView) { 
    var newOffset: CGFloat = tutorialScrollView.contentOffset.x 
    var newPage = Int(newOffset/tutorialScrollView.frame.size.width) 
    pageCounterForScrollView.currentPage = newPage 
} 

답변

0

내가 신속한에서 이런 짓을하지 않은하지만 난 목적에했을 - C

- (void)scrollViewDidScroll:(UIScrollView *)aScrollView 
{ 
CGFloat pageWidth = self.horizontalMenu.bounds.size.width ; 
    float fractionalPage = self.horizontalMenu.contentOffset.x/pageWidth ; 
NSInteger nearestNumber = lround(fractionalPage) ; 

if (self.pageControl.currentPage != nearestNumber) 
{ 
    self.pageControl.currentPage = nearestNumber ; 
    NSLog(@"%d",nearestNumber); 
    // if we are dragging, we want to update the page control directly during the drag 
    if (self.horizontalMenu.dragging) 
     [self.pageControl updateCurrentPageDisplay] ; 
} 
}