Я добавил UIView как заголовок UITableView, но когда я это сделал, мои ограничения развалились. Я пытаюсь получить мой chapterVerseLabel
по центру внутри круга, так:Центрирование UILabel внутри заголовка UITableView
выполнить это, таким образом, до сих пор делают это:
var allConstraints = [NSLayoutConstraint]()
let views = ["tableView" : tableView, "containerView" : containerView, "chapterVerseLabel" : chapterVerseLabel]
allConstraints += NSLayoutConstraint.constraintsWithVisualFormat("V:|-70-[chapterVerseLabel]-70-|", options: [], metrics: nil, views: views)
NSLayoutConstraint.activateConstraints(allConstraints)
Но я не знаю, как получить его с центром. Кажется, все мои попытки сосредоточить его, не соблюдайте более строгие правила центрирования чего-либо в заголовке UITableView.
Все идеи приветствуются.
Update
Я попытался добавить значение .CenterX:
let leftConstraint = NSLayoutConstraint(item: chapterVerseLabel, attribute: .CenterY, relatedBy: .Equal, toItem: containerView, attribute: .CenterY, multiplier: 1.0, constant: 0.0)
containerView.addConstraint(leftConstraint)
let rightConstraint = NSLayoutConstraint(item: chapterVerseLabel, attribute: .CenterX, relatedBy: .Equal, toItem: containerView, attribute: .CenterX, multiplier: 1.0, constant: 0.0)
containerView.addConstraint(rightConstraint)
Но это результат:
Прямо сейчас, chapterVerseLabel сидит в моей конте inerView, который назначается как tableView.tableHeaderView
. Например:
tableView.tableHeaderView = containerView
Любые идеи?
1: Вы уверены, что ваш ярлык является подвидью заголовка, а не каким-то другим видом внутри? 2: Вероятно, вам нужно ограничить centerX в дополнение к изменению ваших ограничений: 'V: | - (> = 70) - [chapterVerseLabel] - (> = 70) - |' –
@DanielGalasko Извините, вы абсолютно правы. Это подзаголовок 'containerView', поэтому мои ограничения сломались. Изначально у меня они работали нормально, как вид отдельно от моего tableView. И как только я сделал их заголовком UITableView, все мои ограничения развалились. – Trip
рад помочь :) –