#ios #uitableview #autolayout #storyboard
#iOS #uitableview uitableview #автозаполнение #раскадровка
Вопрос:
Я поместил знак UIImageView
в правой части ячейки табличного представления и добавил конечное ограничение к ячейке 20.
Тем не менее, изображение заканчивается полностью в левой части ячейки, когда я запускаю приложение.
Мой код контроллера представления таблицы очень простой:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCell(withIdentifier: "SailboatCell", for: indexPath) as! SailboatTableViewCell
return cell
}
Идентификатор правильный, и я также установил класс ячейки.
Я много занимался автоматической версткой и понятия не имею, чего мне здесь может не хватать.
На устройстве изображения находятся с правой стороны при запуске приложения, но оказываются слева во вновь созданных ячейках, когда я начинаю прокрутку. Все немного сбрасывается, когда я перевожу устройство в альбомную, а затем снова в портретную ориентацию.
Предупреждения об автоматической компоновке не печатаются.
Ранее у меня были другие элементы пользовательского интерфейса в ячейке, которые были красиво расположены (слева направо), как и ожидалось. Только вид изображения вел себя странно. Я удалил все остальные элементы пользовательского интерфейса, чтобы избежать каких-либо помех.
РЕДАКТИРОВАТЬ: я воссоздал ячейку, и все в порядке. Понятия не имею, что это было.
Комментарии:
1. Основываясь на опубликованном вами изображении симулятора, похоже, что вы получаете ячейку по умолчанию вместо своей пользовательской ячейки. Я говорю это потому, что разделительная строка имеет отступ по ширине вашего изображения, чего не происходит, если вы используете пользовательскую ячейку. Является ли это табличным представлением в качестве подвида? Или это контроллер табличного представления? В любом случае попробуйте удалить контроллер и начать все сначала с нового.
Ответ №1:
Это может быть связано с тем, что вы установили semanticContentAttribute
значение .forceRightToLeft
для ячейки или UIView.appearance()
.
Согласно документу Apple для semanticContentAttribute:
Семантическое описание содержимого представления, используемое для определения того, следует ли переворачивать представление при переключении между макетами слева направо и справа налево.
Комментарии:
1. Объясните, почему макет подходит для первых отображаемых ячеек на устройстве. (Кроме того, я проверил, и я случайно не установил семантику.)
2. @значение-вопросы, похоже, вы недостаточно дружелюбны с человеком, который вам помогает. Как он может объяснить, если вы даже не предоставили достаточно информации? Должны ли вы сначала предоставить больше кода?
3. @trungduc Больше нет кода, и этот ответ не охватывал все детали, которые я предоставил. Я переспросил 4 часа назад и жду его ответа.