我有一个UITableView分区,并且想要在标签上设置一个标签(不在tableview中)。
我在
中尝试了[label setText:@"name"];
的设置标签
(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
但这不起作用。其他人有想法如何做到这一点?
答案 0 :(得分:5)
试试这个
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 60)];
headerView.backgroundColor = [UIColor clearColor];
UILabel *label = [[UILabel alloc] initWithFrame: CGRectMake(0,0, 50, 50)];
label.backgroundColor = [UIColor yellowColor];
label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;
[headerView addSubview:label];
return headerView;
}
答案 1 :(得分:2)
如果您正在使用该方法,则只需返回字符串即可。它将处理为您创建标签。
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return @"Name";
}
如果您想使用自己的UIView
或UILabel
,则需要使用其他dataSource
方法。
- (UIView *) tableview:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UILabel *customLabel = [[UILabel alloc] initWithFrame:CGRect(0.0,0.0,100.0,20.0)];
[customLabel setText:@"name"];
return customLabel;
}
答案 2 :(得分:2)
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
self.tableView1.tag = 1;
if ( [tableView tag] == 1 ) {
return @"TableView One Title";
}
return @"other Tableview Title";
}