如何根据orientation / UITableView宽度更正uitableview节标题框

时间:2013-12-19 11:44:33

标签: ios objective-c uitableview

我有一个带分组样式的UITableView - 我有一个自定义标题视图:

+ (UIView *) viewForHeaderWithText: (NSString*) title
{
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
    {
        UIView *viewHeader = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 20)];
        UILabel *label = [[UILabel alloc] init];
        label.backgroundColor = [UIColor clearColor];
        label.frame = CGRectMake(10.0f, 0.0f, 300.0f, 20.0f);
        label.font = [UIFont systemFontOfSize:12.0f];
        label.textColor = [UIColor blackColor];
        label.textAlignment = NSTextAlignmentLeft;
        label.text = title;
        if (!IS_OS_7_OR_LATER) {
            label.textColor = [UIColor lightGrayColor];
        }
        [viewHeader addSubview:label];
        return viewHeader;
    }
}

因此节标题宽度框架是固定的。

但是对于呈现UITableViewController的不同方向和方式,单元格宽度(iOS6)会发生变化 - 正如您在屏幕截图中看到的那样。但是我需要为节标题和单元格相等设置偏移量。

现在我有:

enter image description here enter image description here

我需要什么:

enter image description here

我试图更改单元格宽度 - 但是没有解决这个问题..有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

您需要在uitableView委托方法下面实现: -

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section