我正在使用tabelView的一些背景颜色,并将样式分组。部分标题中的文字不清楚,因此我需要修改文本颜色,以便标题文本可见。 我想知道我们可以更改标题文本的颜色和大小吗?
答案 0 :(得分:9)
添加到terente的答案:
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
if (section == 0) {
CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
UIView* headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, screenRect.size.width, 44.0)];
//headerView.contentMode = UIViewContentModeScaleToFill;
// Add the label
UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(10.0, -5.0, 300.0, 90.0)];
headerLabel.backgroundColor = [UIColor clearColor];
headerLabel.opaque = NO;
headerLabel.text = @"Header";
headerLabel.textColor = [UIColor blackColor];
headerLabel.highlightedTextColor = [UIColor blackColor];
//this is what you asked
headerLabel.font = [UIFont boldSystemFontOfSize:17];
headerLabel.shadowColor = [UIColor clearColor];
headerLabel.shadowOffset = CGSizeMake(0.0, 1.0);
headerLabel.numberOfLines = 0;
headerLabel.textAlignment = UITextAlignmentCenter;
[headerView addSubview: headerLabel];
[headerLabel release];
// Return the headerView
return headerView;
}
else return nil;
}
您可以将[UIFont fontWithName:@"<name of your font>" size:24.0];
用于其他字体
答案 1 :(得分:5)
实施
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
并返回标题的自定义视图。
编辑:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIImageView *headerTitleView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, kSectionHeaderHeight)];
[headerTitleView setImage:sectionHeaderBackgroundImage];
UILabel *sectionTitleLabel = [[UILabel alloc] initWithFrame:CGRectMake((self.view.frame.size.width - 38) / 2, 5, 38, kSectionHeaderHeight - 10)];
sectionTitleLabel.textColor = [UIColor redColor];
sectionTitleLabel.backgroundColor = [UIColor clearColor];
sectionTitleLabel.textAlignment = UITextAlignmentCenter;
sectionTitleLabel.text = @"A";
sectionTitleLabel.font = [UIFont fontWithName:@"yourFont" size:13];
[sectionTitleLabel setAdjustsFontSizeToFitWidth:YES];
[headerTitleView addSubview:sectionTitleLabel];
return headerTitleView;
}
答案 2 :(得分:0)
- (void) tableView : (UITableView*) tableView willDisplayHeaderView : (UIView*) view forSection : (NSInteger) section{
[((UITableViewHeaderFooterView) *view).textLabel setFont:(UIFont...)];
}
您可以从另一个表视图委托方法设置文本标签。
答案 3 :(得分:0)
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section {
[((UITableViewHeaderFooterView *) view).textLabel setFont:[UIFont fontWithName:@"Your-Font-Name" size:((UITableViewHeaderFooterView *) view).textLabel.font.pointSize]];
}
注意:
pointSize
不变。 willDisplayFooterView
。Your-Font-Name
更改为您的字体。答案 4 :(得分:0)
List<ApplicationInfo>applicationInfos=getPackageManager().getInstalledApplications(0);
for(ApplicationInfo applicationInfo:applicationInfos) {
String cn=applicationInfo.className==null?"not able to get class name":applicationInfo.className;
String pk=applicationInfo.packageName==null?"not able to get package name":applicationInfo.className;
Log.e("tag", " " + cn+"---"+pk);
}
我们可以使用 header.textlabel 对象来更改其他&#34; UILabel&#34;该标签的属性。