2012-07-20 2 views
0

너비가 같지만 높이가 같은 2 행의 정렬 된 이미지가있는 카탈로그 앱을 만들고 있습니다. 첨부 된 이미지대로 정렬 순서대로 (A에서 Z까지) scrollview에 삽화를 그립니다.Scrollview - iPad 응용 프로그램의 이미지 정렬 버그

글자가 알파벳 순서대로 정렬 된 막대를 사용하여 검색합니다 (A부터 Z까지). 문자 J를 터치하면 j부터 시작하는 아트 워크가 가장 먼저 나타납니다. 우리가 사용하는 코드가 잘 작동하지 않습니다. 예 : J를 클릭하면 A가 나타납니다. 도움이나 조언을 크게 부탁드립니다.

NSString *newStr = [currentArtworkTitle substringWithRange:NSMakeRange(0,1)];  
if([newStr isEqualToString:self.searchString]) 
    if (scrollViewTopRowWidth > scrollViewBottomRowWidth) { 
    xCordForSortedView = scrollViewTopRowWidth - c - imgForButton.size.width;//self.touchLengthCount;//50 ;// -10//c scrollViewBottomRowWidth 
    } 
    else { 
     xCordForSortedView = scrollViewBottomRowWidth - c - imgForButton.size.width;// self.touchLengthCount;//40;//scrollViewTopRowWidth 
     } 

// For shifting the screen 
if(scrollViewTopRowWidth > scrollViewBottomRowWidth){ 
    int tmpMargin = scrollViewTopRowWidth - xCordForSortedView; 
    if(tmpMargin < 1024) 
    scrollView.contentSize = CGSizeMake(scrollViewTopRowWidth+1024,scrollView.bounds.size.height); 
    } 
    else{ 
    int tmpMargin = scrollViewBottomRowWidth - xCordForSortedView; 
    if(tmpMargin < 1024) 
    scrollView.contentSize = CGSizeMake(scrollViewBottomRowWidth+1024,scrollView.bounds.size.height);  
    } 
    [scrollView scrollRectToVisible:CGRectMake(xCordForSortedView, 0,scrollView.frame.size.width, scrollView.frame.size.height) animated:YES]; 

답변

0

난 당신의 코드를 편집하지 않습니다하지만 난 당신에게 힌트를 줄 수있는 다음과 같이

코드입니다. 당신이 scrollwiew를 채울 때, imageview를 추가하여 NSMutableDictionary (인스턴스 변수)에 항목을 추가하면 키가 A-Z 문자가되고 값은 이미지의 x 위치가됩니다. 스크롤 뷰 채우기가 끝나면 모든 이미지의 위치가 포함 된 사전 (x 만 필요함)과 해당 문자도 포함하게됩니다. 이제 "J"를 탭하고 "Search"를 누르십시오. 사전을 구문 분석하여 키 "J"로 오브젝트를 손으로 가리고 값을 읽습니다. 이 (x) 값을 사용하여 srollview의 contentOffset을 설정하십시오. 타다!

관련 문제