2013-02-27 3 views
0

Я создаю табличный вид с многоразовыми заголовками. Что-то странное происходит с заголовками, когда я загрузить его из XIb Многоразовые заголовки от xib

- (UIView*)dequeueReusableHeaderView 
{ 
    NSInteger indexAvailableView = [reusableHeaders indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) 
    { return [obj superview] == nil; }]; 

    return (indexAvailableView != NSNotFound)? reusableHeaders[indexAvailableView] : nil; 
} 

- (void)enqueueReusableView:(UIView*)headerView 
{ 
    [reusableHeaders addObject:headerView]; 
} 

-(UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    BGDiaryHeader *header = (BGDiaryHeader*)[self dequeueReusableHeaderView]; 
    if (!header) { 
     UINib *headerNib = [UINib nibWithNibName:@"BGDiaryHeader_iPhone" bundle:nil]; 
     NSArray *aNib = [headerNib instantiateWithOwner:self options:nil]; 
     BGDiaryHeader *header = [aNib objectAtIndex:0]; 

    //if simple [[_ alloc]init] all works fine 
    // header = [[BGDiaryHeader alloc] init]; 
     [self enqueueReusableView:header]; 
    } 
    //set display data 
    return header; 
} 

Если я создаю представление заголовка в коде, все работает отлично

+1

Прошли ли вы через код и посмотрели, возвращает ли он заголовок, отличный от нуля? – Mundi

+0

Спасибо !!!! Глупо, я загорелся заголовком, если блок – Sk0prion

ответ

0

заголовка shaddowed в если блок

-(UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    BGDiaryHeader *header = (BGDiaryHeader*)[self dequeueReusableHeaderView]; 
    if (!header) { 
     UINib *headerNib = [UINib nibWithNibName:@"BGDiaryHeader_iPhone" bundle:nil]; 
     NSArray *aNib = [headerNib instantiateWithOwner:self options:nil]; 
     header = [aNib objectAtIndex:0]; 

     [self enqueueReusableView:header]; 
    } 
    //set display data 
    return header; 
} 
Смежные вопросы