NSScrollView увеличение содержания

Я пытаюсь понять, как работает увеличение содержимого NSScrollView:

У меня есть NSScrollView, в который я пытаюсь добавить NSView, содержащий NSTextField.

Я создаю NSView с текстовым полем и добавляю его в представление документа NSScrollView (scrollView.documentView addSubview: ...), поэтому получаю следующее:

NSScrollView.documentView -> NSView -> NSTextField

При изменении увеличения в NSScrollView размер NSView автоматически изменяется, а также изменяется размер границ / области щелчка NSTextField, но фактический NSTextField не изменяется: (эти красные контуры - это то место, где курсор изменится, если я наведите указатель мыши на /, где я должен щелкнуть, чтобы начать редактирование, так что на самом деле это как-то правильно масштабируется)

нормальный размерувеличено  , наведите курсор мыши / начните редактировать границы красным цветом  еще больше увеличено, снова фактические границы каким-то образом масштабируются, поэтому мне нужно щелкнуть  внутри этих красных точек, чтобы начать редактирование

Если я пропущу NSView и добавлю NSTextField непосредственно в NSSCrollView.documentView, я получу аналогичный «эффект», когда фактическое текстовое / текстовое поле будет масштабироваться, но не кольцо фокуса:

теперь текстовое поле в порядке, но кольцо фокусировки не масштабируется

Похоже, что все, что находится прямо «под» NSScrollView.documentView, будет правильно масштабироваться, но не его подвиды?

Я пробовал устанавливать маски автоизменения размеров и autoresizessubviews-> TRUE везде, но безрезультатно ...

Что я делаю неправильно?

Спасибо за помощь!


person benitosub    schedule 03.01.2014    source источник


Ответы (1)


Не думаю, что ты делаешь что-то не так, просто он сломан. К сожалению, большинство виджетов не собираются увеличивать и уменьшать разумным образом. Это очень старые классы, в которых есть множество хаков, а недавно было добавлено (повторно) масштабирование.

Масштабирование - это замечательно, если вы реализуете собственное представление, но оно не будет очень полезным для виджетов. (Я даже не знаю, есть ли у них полностью масштабируемая графика для всех виджетов.)

person Wil Shipley    schedule 07.01.2014
comment
Понятно ... ну, спасибо, что прояснили это для меня! - person benitosub; 07.01.2014