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