最近被要求做一个在cell上添加分类的名称的界面,废话不说直接上图给大家看(继续抛上一个新手狗屎一样的界面,原谅我一个萌妹子经常这样说话,哈哈)
对,你没有看错,就是上边灰色的小字,现在贴代码如下:
方法一,自定义一个sectionHeader,又上图,是这样的效果(适用于初学者,大神勿喷)
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 20)];//之所以设置为20,是因为考虑到section和section之间的距离
view.backgroundColor = [UIColor yellowColor];
if (section == 0 ) {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 60, 20)];//自己可以调节里边的数值,对你的字的位置进行调整
label.text = @"神技";
label.backgroundColor = [UIColor whiteColor];//这句去掉,就没有白色的底了,或者设置为clear透明
[view addSubview:label];
}
return view;
}
大家可以看到,为了突出sectionHeader我定义为黄色,大家可以自己定义想要的颜色,和字的形状位置
方法二 利用xcodeUIView自带的函数功能:
首先确保你的.h文件时这样的(我的文件名称是SJActivityViewController):
#import <UIKit/UIKit.h>
@interface SJActivityViewController : UIViewController
@end
重点在于.m文件中的添加,代码如下:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
if (section == 0) //判断,因为你可能有好几个section,像我就有3个
{
NSString *one = @"aa"; //定义一个字符串
return one ; //返回字符串就是直接输出了,但是由于自带功能问题,消协输入都是大写,就可以看到我那样的俄界面了,这样做可以设置字体的大小啊,什么的
//return @"神技 "; //这句话的功能和前边两句是一样的,但是这样做,不方便设置属性
}
return nil;
}
以上两种方法,都是直接将他们加入.m文件即可,不需要再添加或定义任何东西,就可以运行的,我认为初学者都是在看别人的代码多了,才会自己做的,所以一起努力吧。