Я надеюсь, что кто-то, читающий это, сможет пролить некоторый свет на эту проблему.
У меня есть простой UITableView, содержащий пользовательские UITableViewCells, каждая ячейка имеет различную высоту, предоставляемую tableView: heightForRowAtIndexPath: и таблица делаетне прокручиватьСами ячейки на самом деле являются контейнерами для одного или двух UILabels, ничего особенного.Три ячейки показывают собственное раскрытие при редактировании, за исключением того, что раскрытия не используются ни для чего другого.Пользовательские раскрытия - это UIImageView, назначенные ячейкам editAccessoryView с изображениями 28x29, однако размер UIImageView установлен на 40x29, чтобы обеспечить лучшую позицию с помощью contentMode Left.
Это должно работать нормально, но происходит, когда раскрытия появляются в редактированииВ режиме они не все имеют одинаковую позицию - два могут быть одинаковыми x, а третьи могут отличаться на 5px.Кажется, это зависит от высоты, присваиваемой каждой ячейке, они в основном перемещаются.Я не вижу, как они связаны, но нашел один набор высот, который дает ожидаемые результаты от всех трех, находящихся в одной позиции.Это не идеально, но до сих пор работало нормально - у меня нет выбора, кроме как изменить высоту, и поэтому выравнивание является большой проблемой.
Если я удаляю пользовательские раскрытия, тогда стандартные раскрытия работают отлично?
Я перепробовал множество вещей, например
- , убрав лишнюю ширину в UIImageView
- , уменьшив размер изображения
- , играя свысоты ячеек - раскрытия просто перемещаются
- , заменяя UIImageView другими элементами управления - без разницы
Если у вас есть какие-либо идеи, почему это может быть, я бы хотел их здесь,спасибо.