我想自定义TableView节标题并保留默认背景颜色。我使用 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)
部分。我需要根据设备(iPad或iPhone)更改字体大小。为此,请调用下一个函数:
[UIColor colorWithHue:0.6饱和度:0.33亮度:0.69 alpha:0.6]。
但是我手动找到了这些值。
答案 0 :(得分:27)
ios7的默认tableview部分标题背景颜色是
Objective-C
[UIColor colorWithRed:247/255.0f green:247/255.0f blue:247/255.0f alpha:1.0f]
Swift
UIColor(red: 247/255, green: 247/255, blue: 247/255, alpha: 1)
答案 1 :(得分:5)
对于更改背景颜色TableView标题部分只是一行的东西
添加TableView
委托willDisplayHeaderView
:
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section {
UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view;
**header.tintColor = [UIColor whiteColor];**
}
答案 2 :(得分:2)
目标-C:
[UIColor colorWithRed:232/255.0f green:233/255.0f blue:237/255.0f alpha:1.0f]
夫特:
UIColor(red: 232/255, green: 233/255, blue: 237/255, alpha: 1)
答案 3 :(得分:0)
我在其中一个应用中所做的是创建如下文本:
NSString *sectionTitle = @"YOUR TITLE HERE";
CGSize sz = [sectionTitle sizeWithFont:[UIFont boldSystemFontOfSize:20.0f]
constrainedToSize:CGSizeMake(290.0f, 20000.0f)
lineBreakMode:UILineBreakModeWordWrap];
CGFloat height = MAX(sz.height, 20.0f);
CGRect sectionFrame = CGRectMake(0.0, 0.0, 320.0, height);
我使用290作为约束宽度,在两边给出标签边框。然后我使用了这样的可拉伸图像:
将其缩放以适合标题中的文字:
UIImage *headerImage = [UIImage imageNamed:@"sectionheaderbackground.png"];
UIImage *stretchableImage = [headerImage stretchableImageWithLeftCapWidth:12 topCapHeight:0];
UIImageView *backgroundImageView = [[UIImageView alloc] initWithFrame:sectionFrame];
backgroundImageView.image = stretchableImage;
// Add it to the view for the header
UIView *sectionView = [[UIView alloc] initWithFrame:sectionFrame];
sectionView.alpha = 0.9;
sectionView.backgroundColor = [UIColor clearColor];
[sectionView addSubview:backgroundImageView];
最后,我创建了一个标签并将其添加为子视图:
CGRect labelFrame = CGRectMake(10.0, 0.0, 290.0, height);
UILabel *sectionLabel = [[UILabel alloc] initWithFrame:labelFrame];
sectionLabel.text = sectionTitle;
sectionLabel.numberOfLines = 0;
sectionLabel.font = [UIFont boldSystemFontOfSize:18.0];
sectionLabel.textColor = [UIColor whiteColor];
sectionLabel.shadowColor = [UIColor grayColor];
sectionLabel.shadowOffset = CGSizeMake(0, 1);
sectionLabel.backgroundColor = [UIColor clearColor];
[sectionView addSubview:sectionLabel];
return sectionView;
答案 4 :(得分:0)
对于iOS 11,我在模拟器上选择了它的颜色。
对象c:[UIColor colorWithRed:247 / 255.0绿色:247 / 255.0蓝色:247 / 255.0 alpha:1.0]
切换:UIColor(红色:247 / 255.0,绿色:247 / 255.0,蓝色:247 / 255.0,alpha:1.0)
但是,每当Apple更改颜色时,我们都需要更改。
如何获取默认的节标题颜色?
答案 5 :(得分:0)
十六进制颜色-#e8e9ed
RGB颜色-UIColor(红色:232/255,绿色:233/255,蓝色:237/255,alpha:1)
或者您可以使用#f7f7f7