2010-01-07 3 views
3

내 응용 프로그램에서 UIScrollView를 확장하고 사용자가 스크롤 할 때 해당 내용을 채우는보기가 있습니다. 그러나 사용자가 너무 빨리 스크롤하면 UIScrollView 내부에 채워진 뷰가 제 시간에 생성되지 않고 실제로 UIScrollView의 배경을 볼 수 있습니다. 이것이 발생하는 이유는 layoutSubviews에서이 게으른로드를 수행하고 있기 때문에 contentOffset 속성이 변경 될 때마다 호출되지 않는 것 같습니다.UIScrollView 스크롤 속도 변경

UIScrollView를 천천히 스크롤하면 위에서 설명한 문제가 발생하지 않고 콘텐츠를 충분히 빠르게로드 할 수 있습니다.

내가 생각할 수있는이 문제를 해결할 수있는 유일한 방법은 사용자가 화면에서 손가락을 들어 올리면 UIScrollView가 특정 속도보다 빠르게 스크롤되지 않도록하는 것입니다.

decelerationRate 속성을 변경하는 것이 내 해결책이 아니라는 것을 알고 있습니다. DecelerationRate는 사용자가 손가락을 들어 올린 후 스크롤을 중지하는 속도를 UIScrollView에 알려줍니다. 미리

감사

FBR

+0

지도 및 사파리 앱에서 Apple이 수행하는 작업을 수행하지 않고 언로드 된 콘텐츠에 대한 추상적 인 배경 만 표시하는 이유는 무엇입니까? – Jonathan

+0

확실히 할 수는 있지만이 앱에서는 전혀 좋지 않을 것입니다. – ForeignerBR

+0

해답을 찾았습니까? –

답변

1

scroll.pagingEnabled = YES;

0

나는 똑같은 문제가있었습니다. 당신의 클래스에있는 ScrollView 대리자를 추가

  1. 준비

    • : 나는 두 가지 방법으로 접근 (아이폰 OS 8.3, 스위프트 1.2)와 그것을 해결

      class myCustomClassName:UIViewController,UIScrollViewDelegate 
      { 
      } 
      
    • 내 수업을 만들어 scrollview 대리인 :

      self.myScrollView.delegate = self 
      
    • 데이터가 이미 첨가 beend 경우 부울 수표

      func scrollViewDidScroll(scrollView: UIScrollView) 
      { 
          //some code... 
      } 
      
  2. 라이트 "컨텐츠 범위": 10

  3. 내가 contentOffset를 얻을 수있는 델리게이트 방식 (스크롤 위치)를 첨가

    func scrollViewDidScroll(scrollView: UIScrollView) 
    { 
        //Total products = TP 
        if self.useScrollViewDynamicLoading 
        { 
         var scrollPosition:CGFloat = scrollView.contentOffset.y 
         switch scrollPosition 
         { 
          case 200.0...300.0: 
          //TP = 24 
          if self.checkIfProductsInGivenRangeHaveAlreadyBeenAdded(18) 
          { 
           loadProductsForProductRange(12) 
          } 
          case 600.0...700.0: 
          //TP = 36 
          if self.checkIfProductsInGivenRangeHaveAlreadyBeenAdded(24) 
          { 
           loadProductsForProductRange(18) 
          } 
         } 
         .... 
    
  4. self.myScrollView.decelerationRate = 0.5 
    
    ,617 : viewDidLoad()에서
  5. 가있는 ScrollView 감속 변경

관련 문제