1、UILabel宽度不变,根据字体多少,自动调整UILabel的高度,并折行显示。代码如下:label = [[UILabel alloc] initWithFrame:CGRectMake(0, 10, 300, 20)]; label.font = [UIFont boldSystemFontOfSize:20.0f]; //UILabel的字体大小 label.numberOfLines = 0; //必须定义这个属性,否则UILabel不会换行 label.textColor = [UIColor whiteColor]; label.textAlignment = NSTextAlignmentLeft; //文本对齐方式 [label setBackgroundColor:[UIColor redColor]]; //宽度不变,根据字的多少计算label的高度 NSString *str = @"可以更改此内容进行测试,宽度不变,高度根据内容自动调节"; CGSize size = [str sizeWithFont:label.font constrainedToSize:CGSizeMake(label.frame.size.width, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping]; //根据计算结果重新设置UILabel的尺寸 [label setFrame:CGRectMake(0, 10, 300, size.height)]; label.text = str; [self.view addSubview:label]; 复制代码2、UILabel高度不变,根据字体多少,自动调整UILabel的宽度,并折行显示代码如下 label = [[UILabel alloc] initWithFrame:CGRectMake(0, 10, 20, 20)]; label.font = [UIFont boldSystemFontOfSize:20.0f]; //UILabel的字体大小 label.numberOfLines = 0; //必须定义这个属性,否则UILabel不会换行 label.textColor = [UIColor whiteColor]; label.textAlignment = NSTextAlignmentLeft; //文本对齐方式 [label setBackgroundColor:[UIColor redColor]];
/* 这个函数是显示tableview的章节数*/
-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView
{
return 2;
}
我们只要设置标题头尾的宽度就可以看见了
/*设置标题头的宽度*/
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 20;
}
/*设置标题尾的宽度*/
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
return 20;
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
if (section == 0) {
return @"我是头一";
}
else
return @"都是头二";
}
/*设置标题脚的名称*/
-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
{
if (section == 0)
{
return @"我是脚一";
}
else
{
return @"我是脚二";
}
}
/*设置cell 的宽度 */
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 50;
}
下面我们来看下效果吧

如果你觉得标题头尾太难看 那我们就给他化下装
下面的两个函数是在头和尾上加了一个UIview !我们就可以在view 上做我们想做的事情了,加个图片,加个button 加个label,只要是在view上加的都能加!!
-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
if (section == 0)
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"我是button 1" forState:UIControlStateNormal ];
return button;
}
else
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"我是button 2" forState:UIControlStateNormal ];
return button;
}
}
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
if (section == 0)
{
UILabel *label1=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 60)];
label1.text=@"我是好人";
label1.backgroundColor=[UIColor yellowColor];
return label1 ;
}
else
{
UILabel *label2=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 60)];
label2.text=@"我是程序员";
label2.backgroundColor =[UIColor blueColor];
return label2 ;
}
}
效果如图
