在UITableView的页脚中对齐文本

时间:2011-03-01 04:10:51

标签: iphone objective-c uitableview

我正在使用

- (NSString *)tableView:(UITableView *)tv titleForFooterInSection:(NSInteger)section
{
if (section == 1)
{
    return @
    "Some text  \r\n"
    "\r\n"
    "1. Point 1\r\n "
    "2. Point 2\r\n"
    "3. Point 3";
}
    return @"";
}

表示一组单元格的页脚。它工作得很好,但我想将文本对齐到左边(以帮助看起来)。我知道你可以使用viewForFooterInSection创建一个视图/ UILabel,但这似乎是一个丑陋的工作。有没有办法调整它?

3 个答案:

答案 0 :(得分:5)

如果您的tableview很短,那么您也可以写下这样的内容:

-(void)viewDidLayoutSubviews 
{
    for (int section = 0; section < [self.tableView numberOfSections]; section++)
    {
        [self.tableView footerViewForSection:section].textLabel.textAlignment = NSTextAlignmentRight;
    }
}

答案 1 :(得分:4)

tableView:viewForFooterInSection:不是解决方法。

Apple通常会为您提供两种选择,简单方法和手动方式。

如果简单方法(tableView:titleForFooterInSection:)没有达到您想要的效果,您可以通过添加自己的视图获得最大的灵活性。

事实上,你可以在tableView:viewForFooterInSection:

中返回一个UILabel

应该非常容易。

答案 2 :(得分:0)

override func tableView(_ tableView: UITableView, willDisplayFooterView view: UIView, forSection section: Int) {
    let footerView = view as! UITableViewHeaderFooterView        
    footerView.textLabel?.textAlignment = .center //or whatever you want
}