0x00 需求
组头视图内有一个UILabel视图
 是靠右显示文字
 当设备旋转后
 文字居中显示了
因为UILabel的宽度写死了Q_Q
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    static NSString *ID = @"header";
    UITableViewHeaderFooterView *view = [tableView dequeueReusableHeaderFooterViewWithIdentifier:ID];
    if (!view) {
        view = [[UITableViewHeaderFooterView alloc] initWithReuseIdentifier:ID];
        [view.contentView addSubview:({
            UILabel *label = [[UILabel alloc] init];
            label.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.bounds), 30);
            label.text = @"(0)";
            label.textColor = [UIColor whiteColor];
            label.font = [UIFont boldSystemFontOfSize:17];
            label.textAlignment = NSTextAlignmentRight;
            label.tag = 100;
            label;
        })];
    }
    
    UILabel *label = [view.contentView viewWithTag:100];
    label.text = [NSString stringWithFormat:@"(%@)",@(self.dataArray.count)];
    
    return view;
}
0x01 autoresizingMask
设置了 label 的 autoresizingMask 后:
label.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
label 直接跑到屏幕外面去了(屏幕右边)Q_Q
原来label的父视图contentView一开始还没宽度
 等到系统设置宽度后
label就被弹到右边去了
0x01 取个巧
把label的frame设置修改一下,
 由
label.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.bounds), 30); 改为
label.frame = CGRectMake(-200, 0, 200, 30);
配合
label.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; 搞定!
 ^ _ ^
如果还想设置一下右侧的边距
 修改一下x即可
label.frame = CGRectMake(-210, 0, 200, 30);
