2010-05-10 6 views

답변

1

그것은 당신이 듣고 싶은 대답하지만 *는 :(

테이블 뷰의 대표는 these methods에 응답하지 않습니다. 그러나

, (그것은 해킹 약간입니다 만) 애니메이션은 약 0.35이다 초 긴 그냥 performSelector:withObject:afterdelay:를 호출 할 수 없습니다...

을 * 적어도 내가 아는 한... 사실

+0

안정적인가/일관성 있습니까? 런 루프가 지연되면 어떻게됩니까? – akaii

+0

일관성이 전혀 없습니다. 해킹이 약간 있습니다! 실행 루프가 지연되면 애니메이션 마무리 작업과 원하는 작업을 일시 중지합니다. – deanWombourne

4

, 가 D에 방법이 될 것 같지 않습니다 o 이것 (꼭 그래야만하는 것처럼 간단하지는 않습니다!).

어떤 종류의 콜백에 대한 액세스가 없지만 애니메이션은 CAAnimation 내에서 발생합니다. 따라서 CAAnimationcompletionBlock에 액세스하면 원하는 것을 제공하는 것처럼 보입니다. /를 collapseSection:expandingSection: 방법에

#pragma mark - Section expanding/collapsing 
- (void)toggleSection:(NSInteger)index { 
    int expandedSection = [self ExpandedSection]; 
    if (expandedSection != NO_EXPANDED_SECTIONS_INDEX) { 
     [self beginUpdates]; 
     [self collapseSection:@(expandedSection)]; 
     [CATransaction setCompletionBlock:^{ 
      if (expandedSection != index) { 
       [self beginUpdates]; 
       [self expandSection:@(index)]; 
       [self endUpdates]; 
      } 
     }]; 
     [self endUpdates]; 
    } else { 
     [self expandSection:@(index)]; 
    } 
} 

코드는 단순히 추가 축소 또는 확대 할 필요가 하위 섹션을 제거 : 여기

내가 내 UITableView 서브 클래스에 체인이 애니메이션을 가지고 방법입니다. 여기서 중요한 점은이 코드를 사용할 때 마침내 하나의 하위 섹션을 접을 수 있다는 것입니다. THEN 다음 하위 섹션을 확장하십시오. 이전에는 두 애니메이션이 동시에 발생했는데 시각적으로 매력적이지 않았습니다.

이 정보가 도움이 되었기를 바랍니다. 나는 이것을 발견하기까지 벽을 머리에 대고 오랫동안 고생했다.

이것은 iOS 6.0에 대해 작성되었습니다. 나는 또한 미래 버전이이 workaround/hack을 쓸모없는 것으로 만들 것을 정말로 희망한다!

+0

이것은 매우 실행 가능한 솔루션처럼 보입니다. 감사 – LightningStryk

관련 문제