Выровнять текст в нижнем колонтитуле UITableView - PullRequest
6 голосов
/ 01 марта 2011

Я использую

- (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 @"";
}

для нижнего колонтитула группы ячеек. Это прекрасно работает, но я хочу выровнять текст по левому краю (чтобы улучшить внешний вид). Я знаю, что вы можете создать представление / UILabel, используя viewForFooterInSection, но это кажется уродливым решением. Есть ли способ выровнять его?

Ответы [ 3 ]

5 голосов
/ 05 октября 2013

если у вас короткий просмотр таблицы, вы также можете написать что-то вроде этого:

-(void)viewDidLayoutSubviews 
{
    for (int section = 0; section < [self.tableView numberOfSections]; section++)
    {
        [self.tableView footerViewForSection:section].textLabel.textAlignment = NSTextAlignmentRight;
    }
}
4 голосов
/ 01 марта 2011

tableView:viewForFooterInSection: - это не обходной путь.

Обычно Apple предлагает вам два варианта: простой и ручной.

Если простой способ (tableView:titleForFooterInSection:) не делает то, что вы хотите, вы получаете максимальную гибкость, добавляя свой собственный вид.

На самом деле, вы можете просто вернуть UILabel в tableView:viewForFooterInSection:

Должно быть супер просто.

0 голосов
/ 16 февраля 2019
override func tableView(_ tableView: UITableView, willDisplayFooterView view: UIView, forSection section: Int) {
    let footerView = view as! UITableViewHeaderFooterView        
    footerView.textLabel?.textAlignment = .center //or whatever you want
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...