Подтвердить что ты не робот

Постоянное замедленное представление Предупреждение для просмотра клипа в NSTableView

В моем приложении есть окно журнала, в котором отображаются строки в NSTableView:

Window > View > Bordered Scroll View - Table View > Clip View > Table View

Когда я добавляю автоматические ограничения макета к окну, независимо от того, что я делаю, я получаю предупреждение Misplaced View для просмотра клипа:

Misplaced View warning

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

Я переместил код в github, если вы хотите посмотреть его в Xcode: https://github.com/MagerValp/AutoDMG/tree/e57b0140e3fc3f7f9e0d4550341ed249a6cf5378. Код требует, чтобы SDK 10.10 был скомпилирован, но xib должен быть доступен для просмотра в Xcode 5 и выше.

4b9b3361

Ответ 1

Недавно я встретил ту же проблему, предупреждение о ожидаемом значении просмотра клипа на 17px больше фактического значения.

Я считаю, что это ошибка Xcode. И я нашел обходное решение для его исправления (кроме переопределения моей ОС до 10.9).

Решение состоит в том, чтобы отредактировать атрибуты tableView в IB, отключить "Заголовки". Не показывайте заголовки таблиц, и предупреждение будет волшебным. И мы можем догадаться, что по умолчанию заголовок таблицы равен 17px:)

Это просто обходной путь, а не идеальное решение. Это не наша вина. Лучшее решение - дождаться, когда Apple исправит эту ошибку Xcode.

Ответ 2

Иерархия подзаголовков Scrollviews является только совместимой с автоматической компоновкой.

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

Ответ 3

ScrollCiew

ClipCiew

     
  

TableView

  

Если ошибка возникает из ClipView. Проверьте размер ScrollView, запомните его. И затем нажмите ScrollView в качестве цели, откройте инспектор размера, включите Внутренний размер, используя Placeholder с размером ScrollView.