Objective c 来自xib的可重用标头

Objective c 来自xib的可重用标头,objective-c,uitableview,Objective C,Uitableview,我使用可重用的标题创建表视图。当我从xib加载标题时,标题出现了一些奇怪的情况 如果我在代码中创建标题视图,所有操作都可以正常进行标题在If块中着色 你有没有仔细检查代码,看看它是否返回一个非零的头?谢谢!!!!愚蠢的我在if块中阴影标题可变 - (UIView*)dequeueReusableHeaderView { NSInteger indexAvailableView = [reusableHeaders indexOfObjectPassingTest:^BOOL(id ob

我使用可重用的标题创建表视图。当我从xib加载标题时,标题出现了一些奇怪的情况

如果我在代码中创建标题视图,所有操作都可以正常进行

标题在If块中着色


你有没有仔细检查代码,看看它是否返回一个非零的头?谢谢!!!!愚蠢的我在if块中阴影标题可变
- (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;
}
-(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;
}