2010-02-07 2 views
1

배경 이미지로로드 할 때 searchResultsTableView 셀을 완전히 볼 수 없습니다. 셀은 매우 약해 보이고 선택하더라도 배경 이미지 뷰에서 눈에 띄지 않습니다. 어떤 제안?tableview 배경 이미지를 설정할 때 tableview 셀이 보이지 않는 이유는 무엇입니까?

나는이 대리자 메서드 내부 (searchResultsTableView에서) 사용을위한 새로운있는 UITableViewCell을 할당하는 것보다 아무것도하고 있지 않다
- (void)searchDisplayController:(UISearchDisplayController *)controller willShowSearchResultsTableView:(UITableView *)tableView { 

    for (UIView *view in controller.searchResultsTableView.subviews) { 
     //if ([view isKindOfClass:[UIImageView class]]) { 
      [view removeFromSuperview]; 
     //} 
    } 

    UIImage *patternImage = [UIImage imageNamed:@"background_newer.png"]; 
    UIImageView * backgroundImageView = [[UIImageView alloc] initWithImage:patternImage]; 
    //backgroundImageView.opaque = NO; 
    backgroundImageView.alpha = 0.9; 

    controller.searchResultsTableView.separatorStyle = UITableViewCellSeparatorStyleNone; 
    controller.searchResultsTableView.backgroundColor = [UIColor clearColor]; 
    [controller.searchResultsTableView addSubview:backgroundImageView]; 
    [controller.searchResultsTableView sendSubviewToBack:backgroundImageView]; 
    controller.searchResultsTableView.rowHeight = 25; 

    [patternImage release]; 
    [backgroundImageView release]; 
} 

: 어떤 수정에 대한

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { .... } 

감사합니다! 당신이 당신의 tableview의 배경 하드 방법을 설정하는 것처럼

(나는 아이폰 시뮬레이터 3.1.2 오전)

답변

0

이 날 것으로 보인다. 그것은 100 % 문제인지는 모르겠지만,이처럼 jQuery과 배경을 설정해야합니다

controller.searchResultsTableView.backgroundColor = [[[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"background_newer.png"]]autorelease];

1

@Jessedc에게 조언을

감사합니다. 코드를 아직 사용해 보지 않았습니다.

searchResultsTableView가로드 될 때마다 main tableview에서 hidden = YES를 설정하고 searchResultsTableView가로드 될 때마다 hidden = YES로 설정하여이 두통을 해결했습니다 (검색이 끝나면 hidden = NO). 기본 tableview는 imageview 위에 backgroundColor = [UIColor clearColor]로 설정됩니다 (원래의 searchResultsTableView 코드에서와 동일한 이미지로로드 됨).

이 새로운 레이아웃은 이전에 원했던 것과 같습니다 :-).

+0

다른 사람들의 게시물에 댓글을 달아주세요 :) – pchap10k

+0

@crunchyt - 그는 의견을 남길만한 평판을 갖고 있지 않습니까? – willcodejavaforfood

+0

나는 고쳐졌다. StackOverflow가 어렵습니다! – pchap10k

1

테이블 텍스트를 위로 스크롤하여 정적 배경 이미지를 표시하려고합니까? 코드가 조금 섞여있을 수도 있습니다 (가능).

표 사용자 정의는 일반적으로 viewWillAppear 메서드에서 수행됩니다. 그래서이 코드가 가야 :

UIImage *patternImage = [UIImage imageNamed:@"background_newer.png"]; 
UIImageView * backgroundImageView = [[UIImageView alloc] initWithImage:patternImage]; 
//backgroundImageView.opaque = NO; 
backgroundImageView.alpha = 0.9; 

controller.searchResultsTableView.separatorStyle = UITableViewCellSeparatorStyleNone; 
controller.searchResultsTableView.backgroundColor = [UIColor clearColor]; 
[controller.searchResultsTableView addSubview:backgroundImageView]; 
[controller.searchResultsTableView sendSubviewToBack:backgroundImageView]; 
controller.searchResultsTableView.rowHeight = 25; 

[patternImage release]; 
[backgroundImageView release]; 

다음, 대리자 메서드 searchDisplayController에 (? 불필요한 아마도) willShowSearchResultsTableView이 전달 된있는 tableview 객체를 참조하지 않습니다,하지만 당신은 최상위를 통해 호출

테이블 설정 코드를 viewWillAppear로 이동하십시오. 도움이되는지 또는 더 많은 정보/코드를 제공 할 수 있는지 알려주십시오.