도시

2012-06-28 4 views
5

의 목록을 검색 하시나요 사람이 내가이 작업을 수행하는 방법에 나에게 올바른 방향으로 포인트를 줄 수 :도시

enter image description here

날씨 채널에서이 샘플은 내가하고 싶은 것을 보여줍니다. 나는 누군가가 도시를 검색 할 수있는 Table View를 원한다. 그 자원을 어디서 구할 지, 어떻게해야할지 모르겠습니다.

+0

UISearchDisplayController를 살펴보십시오. 실제로 그들은 도시 목록에서 읽은 테이블 뷰입니다. :) 사과의 문서에 링크 : [UISearchDisplayController] (http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UISearchDisplayController_Class/Reference/Reference.html) 오, 그리고 내가 잘못 본 것이 아니라면 내가 본 iOS 6 베타를 실행 중입니다. (내비게이션 바는 그것을 제공합니다.) – erran

+0

@ipwnstuff Oooops! 감사의 말 : P 이미지를 편집하고 어떤 소스를 사용하고 있는지 알 수 있습니까? – sridvijay

+0

잘 모르겠지만 @ 그렉 왕이 목록을 추가했습니다. – erran

답변

2

세계 도시 목록은 MaxMind에서 찾을 수 있습니다.

찾고 계신 리소스입니까?

1

테이블보기 및 검색 창을 만듭니다. 델리게이트 UISearchBarDelegate,UITableViewDataSource,UITableViewDelegate을 구현해야합니다.

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar1 
{ 

    searchBar.showsSearchResultsButton = YES; 
    searchBar.showsCancelButton = YES; 
    searchBar.autocorrectionType = UITextAutocorrectionTypeNo; 
    // flush the previous search content 
    //Implement some code 
} 
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar1 
{ 

    searchBar.showsCancelButton = NO; 
    searchBar.showsSearchResultsButton = NO; 
} 
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 
{ 

    if([searchText isEqualToString:@""]||searchText==nil){ 
     [yourTable reloadData]; 
     return; 
    } 
    NSInteger counter = 0; 
    for(NSString *name in yourArray) 
    { 
     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init]; 
     NSRange r = [name rangeOfString:searchText options:NSCaseInsensitiveSearch]; 
     // NSRange r = [name rangeOfString:searchText]; 
     // NSRange r = [name ]; 
     if(r.location != NSNotFound) 
     { 
      //Implement the code. 
     } 
     counter++; 
     [pool release]; 
    } 
    [yourTable reloadData]; 
} 
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar1 
{ 

    // if a valid search was entered but the user wanted to cancel, bring back the main list content 
    // Implement some code 
    @try{ 
     [yourTable reloadData]; 
    } 
    @catch(NSException *e){ 
    } 
    [searchBar resignFirstResponder]; 
    searchBar.text = @""; 
} 
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar1 
{ 

    [searchBar1 resignFirstResponder]; 
} 

나는 불완전한 방법을 알려주고 있으며, 원하는 것을 구현할 수 있습니다.

나는 그것이 당신에게 도움이 될 것이라고 생각합니다.