2015-01-03 2 views
0

Я добавляю UITableViewController в свою раскадровку. Этот контроллер TVC настроен на произвольную форму, а его ширина равна 320.Ярлык внутри TableViewCell не масштабируется горизонтально

Я добавляю метку, центрированную в X внутри ячейки прототипа. Я якорь этой метки с помощью autolayout следующим образом:

  1. приводит к надтаблицам = 10
  2. задней к SuperView = 10
  3. центр Y к SuperView
  4. высоты = 20

я открыть Предварительный просмотр на xcode, поэтому я вижу ярлык, расположенный по ячейке.

Теперь я выбираю tableViewController и изменить его размер до 400.

Этикетка не центрирован на клетку больше. Разве это не должно было быть?

+0

Текст ярлыка имеет текст недвижимости. – gabbler

ответ

0

Вам нужно только горизонтально и вертикально центрировать выравнивание метки в контейнере, если вы хотите, чтобы она была центрирована в ячейке прототипа. Я бы избавился от ваших ограничений, выделил метку и затем выберите «Редактор»> «Выровнять»> «Горизонтальный центр в контейнере», а затем «Редактор»> «Выровнять»> «Вертикальный центр в контейнере».

Обратите внимание, что если вы сделаете это так, после выбора метки, а затем выберите «Горизонтальный центр в контейнере» в меню «Выравнивание», метка больше не будет выбрана, поэтому вам нужно будет снова выбрать ярлык перед выбрав «Вертикальный центр в контейнере» в меню «Выравнивание».

Ведущее пространство - вот что заворачивает ваше центрирование, я считаю.

+0

XCode не нравится это. – UFO

+0

@UFO Я делаю это так все время, и он работает каждый раз. Два ограничения - один горизонтальный центр и один вертикальный центр. Убедитесь, что вы избавились от всех других ограничений. – trevorj

0

Возможно, вы захотите вызвать invalidateIntrinsicContentSize для ячейки, которая изменила размер. Механизм макета должен знать, что что-то изменилось.

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