отображение скрытого изображения нарушает пользовательский интерфейс

#uitableview #xamarin.ios

Вопрос:

У меня есть ячейка tableview, в которой есть текстовое поле с кнопкой для добавления комментария, я добавляю способ прикрепить изображение к комментарию, а вместе с ним миниатюру выбранного изображения.

Элемент управления imagview по умолчанию скрыт, а ограничение по высоте равно нулю, так как скрытие не удаляет пространство, занимаемое imageview.

когда я устанавливаю ограничение по высоте на нужный размер, tableViewCell начинает просто работать неправильно, и текстовое поле теперь исчезло, а какой-то другой текст выталкивается вверх.

начальный пользовательский интерфейс

что происходит с пользовательским интерфейсом

Вот как я возвращаю изображение в видимость:

 var imageManager = new PHCachingImageManager(); var requestOptions = new PHImageRequestOptions {  ResizeMode = PHImageRequestOptionsResizeMode.Exact,  DeliveryMode = PHImageRequestOptionsDeliveryMode.Opportunistic };  imageManager.RequestImageForAsset(PreviewPhoto, new CGSize(64, 64), PHImageContentMode.AspectFit, requestOptions, (image, info) =gt; {  ivPreviewHeight.Constant = 64;  ivPreview.Image = image;  ivPreview.Hidden = false;  btnRemoveImage.Hidden = false; });  

вот мои противопоказания для просмотра изображений:

  • Ведущее пространство для просмотра -gt; 45
  • Верхний пробел для btnComment -gt; 10
  • Нижнее пространство для txtComment -gt; 10

Если я не буду возиться с ограничением высоты, это нормально, но тогда у меня будет большое пустое место, которое выглядит плохо, есть ли хороший способ справиться с этим, чтобы iOS не сошла с ума?

Комментарии:

1. Вам нужно знать все ограничения , которые вы установили для просмотра изображений, вы когда-нибудь пробовали Frame вместо этого жесткий код constraint ?

2. обновлено, чтобы показать мои противопоказания для просмотра изображений. Нет, я никогда не программирую жестко, так как это просто звучит как кошмар, учитывая, насколько сложны мои клетки

3. Вы также регулировали высоту строки при отображении изображения ? И, если возможно, не могли бы вы предоставить снимок экрана фактического и ожидаемого поведения?

4. нет, я установил ограничения таким образом, чтобы ячейка могла изменять размер самостоятельно

5. обновлено, чтобы показать, что происходит