有没有办法将UITableView部分标题视图的宽度设置为小于UITableView的整个宽度?现在我设置tableView:viewForHeaderInSection:返回的视图有多宽,标题视图被拉伸到UITableView的宽度。
这是我的代码:
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *label = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 50, 50)];
label.backgroundColor = [UIColor yellowColor];
label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;
return label;
}
答案 0 :(得分:3)
试试这个。如果我理解了你的问题,那肯定会对你有用
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 60)];
headerView.backgroundColor = [UIColor clearColor];
UIView *label = [[UIView alloc] initWithFrame: CGRectMake(0,0, 50, 50)];
label.backgroundColor = [UIColor yellowColor];
label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;
[headerView addSubview:label];
return headerView;
}
答案 1 :(得分:2)
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
int aSection = [[self.sectionsToDisplay objectAtIndex:section] integerValue];
if([[self.groupHeadings objectAtIndex:aSection] isEqualToString:@""])
return nil;
return [self.groupHeadings objectAtIndex:aSection];
}
答案 2 :(得分:0)
简单解决方案:返回一个UIView
,其中只包含您想要的标题视图,同时为您的headerView提供UIViewAutoresizing属性灵活的右边距,因此它不会随着它的超级视图(或者可能是灵活的左边距)缩放,或者两者,取决于你想要的loomk;])。