2012-07-02 1 views
0

많은 행 (~ 100)을 가진 UIScrollView가 있으며 빠른 할당 및 하위 뷰 (행) 추가를 위해 dequeueReusableRow 메소드가 구현되었습니다. 모든 것이 잘 작동하지만 스크롤이 아주 빠르면 일부보기가 감속되어 나중에 scrollView에 추가되지 않습니다.스크롤하는 동안 UIScrollView에 서브 뷰 (행)를 빠르게 추가하십시오.

- (UIView *)dequeueReusableRow 
{ 
    UIView *view = [reusableRows anyObject]; 

    if(view) 
    { 
     [[view retain] autorelease]; 
     [reusableRows removeObject:view]; 
    }else{ 
     view = [[UIView alloc] init.... 
    } 

    return view; 
} 

- (void)addVisibleRows 
{ 
    UIView *row = [self dequeueReusableRow]; 
    row.frame = .... 
    [scrollView addSubview:row] 
} 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    [self addVisibleRows]; 
    [self removeInvisibleRows]; 
} 

, 같은 아코디언의 구조가 보이기 때문에 내가 jQuery과 사용 제안하지 마십시오 :

section 
- section 
-- section 
--- row 
- section 
section 
- row 
+0

addVisibleRows 전에 호출합니다. http://stackoverflow.com/questions/1944428/how-to-implement-an-accordion-view-for-an-iphone-sdk-app – jrturton

답변

1

dequeueReusableRow이 UIScrollViewController의 일부가 아닌, 그래서 dequeueReusableRow 당신이 자신을 구현 뭔가 가정합니다. 그렇다면 해당 코드를 표시 할 수 있습니까? 비효율적 인 부분을 도울 수있는 곳입니다.

또한 scrollview에 행이 포함되어있는 경우 많은 작업을 수행하는 UITableView를 사용하지 않는 이유는 무엇입니까? 당신이 그것을 제안하지 말 것을 당부드립니다. 왜 우리가 당신을 더 잘 도울 수 있도록 ScrollView를 사용해야하는지 설명 할 수 있습니까?

+0

AccordionView를 만들려고하기 때문에 ScrollView를 사용해야합니다. 행을 클릭하면 행이 확장되고 섹션이있는 UITableView가 표시됩니다. – tikhop

+0

@tikhop uitableview를 사용하여 아코디언보기를 구현할 수 있습니다. – jrturton

+0

@jrturton 전 khow입니다. 그러나 구체적인 아코디언보기가 필요합니다. – tikhop

0

코드 스 니펫에서 알기가 어렵습니다. 좀 더 자세한 정보를 주시면 감사하겠습니다. 그 동안

한 작은 제안 : 나는 당신이 jQuery과 사용 제안 removeInvisibleRows

+0

호출 순서가 영향을받지 않습니다. – tikhop

관련 문제