2010-04-16 7 views
13

UIScrollView 이 ScrollView의 프레임보다 큰 콘텐츠 크기를 갖는 사용자 정의 UIView 내에 있습니다.UIScrollView가 튀어 나오지 않습니다.

예상대로 스크롤을 드래그 할 수 있지만 UITableView 또는 UIWebView를 사용하면 고무 밴딩 효과가 발생하지 않습니다. 극단 중 하나에 도달하면 중지됩니다.

나는 bounce = YES을 설정했습니다. 내가해야 할 일이 있습니까?

나는 문서를 읽고, 그들은 대의원을 구현해야한다고 말한다. 내가 그거 했어.

그들은 또한 확대/축소 수준을 변경해야한다고 말합니다. 그러나 사용자가 실제로 확대/축소 할 수 없도록 설정하지 않았 으면합니다.

답변

44

, 즉 문제 - 그것은 바운스를 취소 :

http://openradar.appspot.com/8045239

당신 이 비슷한 수행해야합니다

- (void)layoutSubviews; 
{ 
    [super layoutSubviews]; 

    CGRect frame = [self calculateScrollViewFrame]; 
    if (!CGRectEqualToRect(frame, self.scrollView.frame)) 
     self.scrollView.frame = frame; 
} 
+0

여러분은 남자입니다 – wbarksdale

+0

여러 토끼 구멍을 잘못 잡아서 시간 낭비했습니다 이것을 의심. 고맙습니다! – aehlke

0

흥미로운 것은 ... 사용자가 스크롤보기를 스크롤하는 동안 계속 진행되고 있습니까? 문제가 발생할 수 있습니다. iPhone은 멀티 태스킹을 할 수는 있지만 너무 많지는 않습니다. 스크롤 뷰와 관련하여 전체 코드를 볼 수 있습니까?

+0

아무것도 흥미 전혀 진행이 예상대로 작동 : 그냥 잘 살고! 큰 UIView가 스크롤 뷰의 콘텐츠 크기와 동일한 크기의 하위보기로 추가 된 스크롤보기가 있습니다. 하위 뷰에는 자식으로 사용자 정의 UIView가 많이 있습니다. –

3

내 사용자 지정 UIView 내에 UIScrollView를 유지하는 것이 문제의 원인이었습니다.

UIScrollView에서 대신 사용자 지정 UIView를 전환하면 수신 거부가 작동하기 시작했습니다. 당신이 UIView를 서브 클래스 모든 layoutSubviewsUIScrollView의 프레임을 다시 설정하는 경우, 나중에이 스레드를 찾는 사람들을위한

+0

다음은 현재 상황입니다. http://openradar.appspot.com/8045239 – leolobato

+0

중첩 된 UIScrollViews에이 문제가 있습니다. openviewar 링크 상태로 layoutSubviews를 호출 할 때 subviews 프레임이 불필요하게 수정되지 않았는지 확인하고 바운스하지 않는 내부 scrollView에 대해서도 UIScrollView Subclass를 사용하고 있습니다 – Pacu

26

을 나는 모든 채워되지 않은있는 UIScrollView에, 같은 문제가 있었다 (하지만 난 여전히 반송 원).

scroll.alwaysBounceVertical/Horizontal = YES; 

을 그리고

+0

스크롤 뷰에 새로 고침 컨트롤이 있지만 튀어 오르기에 충분하지 않은 (새로 고침 컨트롤이 작동하지 않는) 경우 매우 유용합니다. – DMan

관련 문제