2016-07-26 4 views
1

Я использую следующий код для заполнения заголовков моей функции:Swift - Изменение вертикального выравнивания заголовка для секции заголовка в TableView

func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? { 

    switch section { 

    case 0: "SECTION 0" 

    case 1: "SECTION 1" 

    default: break 

    } 

    return nil 
} 

func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) 
{ 
    var title = UILabel() 
    title.font = UIFont(name: "HelveticaNeue-Light", size: 12)! 
    title.textColor = UIColor.blackColor() 

    let header = view as! UITableViewHeaderFooterView 
    header.textLabel?.font=title.font 
    header.textLabel?.textColor=title.textColor 
    header.backgroundView?.backgroundColor = UIColor.whiteColor() 

} 

Теперь, я хотел бы быть в состоянии изменить вертикальный выравнивание заголовка в разделе, как и в следующей картине:

Changing the vertical alignment of the title in the section of the TableView

Как я могу это сделать?

ответ

2

К сожалению, нет способа вертикально выровнять текст в UILabel. This SO сообщение более подробно.

Но вы можете добиться аналогичного эффекта, добавив ярлык к родительскому UIView и привязывая его к нижней части. Затем вы можете вернуть этот вид в таблице viewForHeaderInSection. Метод источника данных

let headerView = UILabel(frame: CGRect(origin: CGPointZero, size: CGSize(width: self.view.frame.width, height: 50))) 
let label = UILabel(frame: CGRect(x: 0, y: 20, width: self.view.frame.width, height: 30)) 
label.text = "Some Text" 
headerView.addSubview(label) 
return headerView 
+0

Отлично! Я удалил две функции, которые я использовал, и теперь я использую только ваш код внутри функции «func tableView (tableView: UITableView, viewForHeaderInSection: Int) -> UIView?», Как вы сказали. Спасибо! –

+0

Отлично. Рад помочь! – Lahav

Смежные вопросы